Используя оба Python 2.x и Python 3.x в ноутбуке IPython

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

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

port select --set python <python version> 

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

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

10 ответов


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

Анаконда >= 4.1.0

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

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

после перезапуска ноутбука jupyter новые ядра доступны через графический интерфейс. Обратите внимание, что новые пакеты должны быть явно установлены в новой среде. The управляющий среды раздел в документах 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 при создании нового ноутбука в интерфейсе.

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


Если вы используете 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


С текущей версией ноутбука/Jupyter, вы можете создать ядро Python3. После запуска нового приложения для ноутбука из командной строки С Python 2 вы увидите запись " Python 3 "в раскрывающемся меню"Создать". Это дает вам ноутбук, который использует 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. перезапустите сервер ноутбуков.

  4. выберите " Python 3 "из выпадающего меню"New"
  5. работа с ноутбуком Python 3
  6. выберите " Python 2 "из выпадающего меню"New"
  7. работа с ноутбуком Python 2

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

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


сначала убедитесь, что у вас есть python2 и a 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

доступно решение, которое позволяет мне сохранить установку MacPorts, настроив IPython 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 ноутбук.

Choose your python!


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

sudo ipython2 kernelspec install-self

и теперь мой python 2 вернулся в список.

ссылки:

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


обновление:

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

sudo ipython2 kernel install


Ниже приведены шаги для добавления ядра python2 в Jupyter notebook::

откройте терминал и создайте новую среду 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


использовать sudo pip3 install jupyter для установки jupyter для python3 и sudo pip install jupyter для установки ноутбука jupyter для python2. Тогда вы можете позвонить ipython kernel install команда для включения обоих типов ноутбуков на выбор в Jupyter notebook.


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

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

если PyCharm использовать

  1. IPython-py2 когда меню>Файл>Настройки>проект>интерпретатор проекта == py2 и
  2. IPython-py3, когда меню>Файл>Настройки>проект>интерпретатор проекта == py3

ответ: да!

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


под 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.