Использование 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?

9 Solutions collect form web for “Использование Python 2.x и Python 3.x в IPython Notebook”

Идея здесь заключается в установке нескольких ядер ipython . Вот инструкции для анаконды. Если вы не используете anaconda, я недавно добавил инструкции, используя чистые 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 предоставляет дополнительную информацию.

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

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

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

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

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

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

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

Кроме того, вы можете передать параметры имени и --display-name для ipython kernel install если вы хотите изменить имена своих ядер. Для ipython kernel install --help дополнительной информации см. 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» в раскрывающемся меню «Новый»,
  5. Работа с ноутбуком Python 3
  6. Выберите «Python 2» в раскрывающемся меню «Новый»,
  7. Работа с ноутбуком Python 2

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

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


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

На 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.

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

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

sudo ipython2 kernelspec install-self

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

Справка:

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


ОБНОВИТЬ:

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

sudo ipython2 kernel install

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

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

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

  1. IPython-py2, когда Menu> File> Settings> Project> Project Interpreter == py2 AND
  2. IPython-py3, когда Menu> File> Settings> Project> Project Interpreter == py3

ОТВЕТ: Да!

PS У меня также установлена ​​Python Launcher для 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.

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

  • как устранить проблему «AttributeError: __exit__» в многопроцессорности в Python?
  • matplotlib не будет рисовать python3
  • Пожалуйста, объясните: «Задание было уничтожено, но оно еще не выполнено!»
  • Получение ошибки импорта: нет модуля с именем ***, но имеет __init__.py
  • Python 3: применить оператор по итерабельному
  • Использование unittest.mock для исправления ввода () в Python 3
  • отрицательный ноль в python
  • Разбор конфигурации файла с тем же именем раздела в python
  • Python - лучший язык программирования в мире.