Используя оба 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.
Подробности
- создать эту директорию:
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 "из выпадающего меню"New"
- работа с ноутбуком Python 3
- выберите " Python 2 "из выпадающего меню"New"
- работа с ноутбуком 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 ноутбук.
из моей установки 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.
Я посмотрел на эту отличную информацию, а затем интересно С
- у меня установлены python2, python3 и IPython,
- у меня установлен PyCharm,
- PyCharm использует IPython для своей консоли Python,
если PyCharm использовать
- IPython-py2 когда меню>Файл>Настройки>проект>интерпретатор проекта == py2 и
- 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.