Вопрос-Ответ

Using both Python 2.x and Python 3.x in IPython Notebook

Использование Python 2.x и Python 3.x в IPython Notebook

Я использую записные книжки IPython и хотел бы иметь возможность выбрать создание записной книжки python 2.x или 3.x. в IPython.

Изначально у меня была Anaconda. С помощью Anaconda необходимо было изменить глобальную переменную окружения, чтобы выбрать, какую версию python вы хотите, а затем можно было запустить IPython. Это не то, что я искал, поэтому я удалил Anaconda и теперь настроил свою собственную установку с использованием MacPorts и PiP. Похоже, мне все еще приходится использовать

port select --set python <python version> 

для переключения между python 2.x и 3.x. что ничем не лучше решения anaconda.

Есть ли способ выбрать, какую версию python вы хотите использовать после запуска IPython notebook, предпочтительно с моей текущей сборкой MacPorts?

Переведено автоматически
Ответ 1

Идея здесь в том, чтобы установить несколько ipython ядер. Вот инструкции для anaconda. Если вы не используете anaconda, я недавно добавил инструкции с использованием чистых виртуальных серверов.

Anaconda >= 4.1.0

Начиная с версии 4.1.0, anaconda включает специальный пакет nb_conda_kernels, который обнаруживает среды conda с ядрами notebook и автоматически регистрирует их. Это упрощает использование новой версии python так же, как и создание новых сред conda:

conda create -n py27 python=2.7 ipykernel
conda create -n py36 python=3.6 ipykernel

После перезапуска jupyter notebook новые ядра доступны через графический интерфейс. Пожалуйста, обратите внимание, что новые пакеты должны быть явно установлены в новые среды. В разделе "Управление средами" в документации conda представлена дополнительная информация.

Ручная регистрация ядер

Пользователи, которые не хотят использовать nb_conda_kernels или все еще используют более старые версии anaconda, могут выполнить следующие шаги для ручной регистрации ядер ipython.

настройте python2.7 среду:

conda create -n py27 python=2.7
conda activate py27
conda install notebook ipykernel
ipython kernel install --user

настройте python3.6 среду:

conda create -n py36 python=3.6
conda activate py36
conda install notebook ipykernel
ipython kernel install --user

После этого вы должны иметь возможность выбирать между python2
и python3 при создании нового notebook в интерфейсе.

Дополнительно вы можете передать параметры --name и --display-name в ipython kernel install, если хотите изменить названия своих ядер. Смотрите ipython kernel install --help для получения дополнительной информации.

Ответ 2

Если вы используете Jupyter на Python 3, вы можете настроить ядро Python 2 следующим образом:

python2 -m pip install ipykernel

python2 -m ipykernel install --user

http://ipython.readthedocs.io/en/stable/install/kernel_install.html

Ответ 3

В этих инструкциях объясняется, как установить ядра python2 и python3 в отдельных виртуальных средах для пользователей, не являющихся пользователями anaconda. Если вы используете anaconda, пожалуйста, найдите мой другой ответ для решения, адаптированного непосредственно к anaconda.

Я предполагаю, что вы уже jupyter notebook установили.


Сначала убедитесь, что у вас есть python2 и python3 интерпретатор с pip доступным.

В ubuntu вы бы установили их с помощью:

sudo apt-get install python-dev python3-dev python-pip python3-pip

Далее подготовьте и зарегистрируйте среды ядра

python -m pip install virtualenv --user

# configure python2 kernel
python -m virtualenv -p python2 ~/py2_kernel
source ~/py2_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py2 --user
deactivate

# configure python3 kernel
python -m virtualenv -p python3 ~/py3_kernel
source ~/py3_kernel/bin/activate
python -m pip install ipykernel
ipython kernel install --name py3 --user
deactivate

Чтобы упростить задачу, вы можете добавить псевдонимы оболочки для команды активации в свой конфигурационный файл оболочки. В зависимости от используемой вами системы и оболочки это может быть, например, ~/.bashrc, ~/.bash_profile или ~/.zshrc

alias kernel2='source ~/py2_kernel/bin/activate'
alias kernel3='source ~/py3_kernel/bin/activate'

После перезапуска вашей командной оболочки теперь вы можете устанавливать новые пакеты после активации среды, которую вы хотите использовать.

kernel2
python -m pip install <pkg-name>
deactivate

или

kernel3
python -m pip install <pkg-name>
deactivate
Ответ 4

Используя текущую версию Notebook / Jupyter, вы можете создать ядро Python3. После запуска нового приложения notebook из командной строки с Python 2 вы должны увидеть запись „Python 3“ в выпадающем меню „Создать". Это даст вам notebook, использующий Python 3. Таким образом, у вас могут быть два ноутбука рядом с разными версиями Python.

Подробности


  1. Создайте этот каталог: mkdir -p ~/.ipython/kernels/python3

  2. Создайте этот файл ~/.ipython/kernels/python3/kernel.json с таким содержимым:


    {
    "display_name": "IPython (Python 3)",
    "language": "python",
    "argv": [
    "python3",
    "-c", "from IPython.kernel.zmq.kernelapp import main; main()",
    "-f", "{connection_file}"
    ],
    "codemirror_mode": {
    "version": 2,
    "name": "ipython"
    }
    }

  3. Перезапустите сервер notebook.


  4. Выберите „Python 3“ из выпадающего меню „Создать“

  5. Работа с ноутбуком на Python 3

  6. Выберите „Python 2“ из выпадающего меню „Создать“

  7. Работа с ноутбуком Python 2

2023-08-06 22:47 python python-2.7 python-3.x jupyter-notebook