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

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

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

port select --set python <python version> 

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

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

Ответ 1

Доступно решение, позволяющее мне сохранить установку MacPorts, настроив Iysthon kernelspec.

Требования:

  • MacPorts установлен в обычном каталоге /opt
  • python 2.7 устанавливается через macports
  • python 3.4 устанавливается через macports
  • Ipython установлен для python 2.7
  • Ipython установлен для python 3.4

Для python 2.x:

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin
$ sudo ./ipython kernelspec install-self

Для python 3.x:

$ cd /opt/local/Library/Frameworks/Python.framework/Versions/3.4/bin
$ sudo ./ipython kernelspec install-self

Теперь вы можете открыть ноутбук Ipython, а затем выбрать python 2.x или python 3.x.

Выберите свой питон!

Ответ 2

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

Анаконда> = 4.1.0

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

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

После перезапуска ноутбука Jupyter новые ядра становятся доступны через графический интерфейс. Обратите внимание, что новые пакеты должны быть явно установлены в новых средах. Раздел Управление средами в conda docs предоставляет дополнительную информацию.

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

Пользователи, которые не хотят использовать 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 при создании новой записной книжки в интерфейсе.

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

Ответ 4

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

Подробности

  • Создайте этот каталог: mkdir -p ~/.ipython/kernels/python3
  • Создайте этот файл ~/.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"
        }
    }
    
  • Перезагрузите сервер ноутбука.

  • Выберите "Python 3" в раскрывающемся меню "Новый"
  • Работа с ноутбуком Python 3
  • Выберите "Python 2" из выпадающего меню "Новый"
  • Работа с ноутбуком Python 2

Ответ 5

В этих инструкциях объясняется, как установить ядро ​​python2 и python3 в отдельных виртуальных средах для пользователей, не являющихся участниками 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

Ответ 6

Из моей установки Linux я сделал:

sudo ipython2 kernelspec install-self

И теперь мой python 2 возвращается в список.

Справка:

http://ipython.readthedocs.org/en/latest/install/kernel_install.html


UPDATE:

Вышеуказанный метод теперь устарел и будет опущен в будущем. Новый метод должен быть:

sudo ipython2 kernel install

Ответ 7

Ниже приведены шаги по добавлению ядра python2 в блокнот jupyter:

откройте терминал и создайте новую среду Python 2: conda create -n py27 python=2.7

активировать среду: Linux source activate py27 или windows activate py27

установить ядро в env: conda install notebook ipykernel

установить ядро за пределами установки ядра env: ipython kernel install --user

закрыть env: source deactivate

Хотя поздний ответ, надеюсь, кто-то найдет это полезным: p

Ответ 8

Используйте sudo pip3 install jupyter для установки jupyter для python3 и sudo pip install jupyter для установки jupyter notebook для python2. Затем вы можете вызвать команду ipython kernel install, чтобы разрешить использование обоих типов ноутбуков в jupyter-ноутбуке.

Ответ 9

Я просмотрел эту отличную информацию, а затем задал вопрос, так как

  • У меня установлены все python2, python3 и IPython,
  • У меня установлен PyCharm,
  • PyCharm использует IPython для своей консоли Python,

, если PyCharm будет использовать

  • IPython-py2, когда Menu > File > Settings > Project > Project Interpreter == py2 И
  • IPython-py3, когда Menu > File > Settings > Project > Project Interpreter == py3

ОТВЕТ: Да!

P.S. У меня также установлена ​​Python Launcher для Windows.

Ответ 10

В Windows 7 у меня были установлены anaconda и anaconda3. Я вошел в \Users\me\anaconda\Scripts и выполнил

sudo .\ipython kernelspec install-self

то я вошел в \Users\me\anaconda3\Scripts и выполнил

sudo .\ipython kernel install

(я получил jupyter kernelspec install-self is DEPRECATED as of 4.0. You probably want 'ipython kernel install' to install the IPython kernelspec.)

После запуска jupyter notebook (в anaconda3) я получил аккуратное выпадающее меню в правом верхнем углу в разделе "Новый", позволяя мне выбирать между ядрами Python 2 odr Python 3.

Ответ 11

  • Если вы работаете с Anaconda в виртуальной среде.
  • И когда вы создаете новый ноутбук, но я не показываю, чтобы выбрать ядро виртуальной среды.
  • Затем вы должны установить его в ipykernel, используя следующий коммандер
$ python -m ipykernel install --user --name=test2