Използвам тетрадки на 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 бележник, за предпочитане с текущата ми MacPorts компилация?
Идеята тук е да се инсталират няколко ядра на ipython
. Тук са инструкциите за anaconda. Ако не използвате anaconda, наскоро добавих инструкции, като използвате чисто virtualenvs.
От версия 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 notebook новите ядра са достъпни през графичния интерфейс. Моля, обърнете внимание, че новите пакети трябва да бъдат изрично инсталирани в новите среди. Разделът Managing environments в документацията на conda's предоставя допълнителна информация.
Потребителите, които не искат да използват 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
за повече информация.
С актуална версия на Notebook/Jupyter можете да създадете Python3 ядро. След като стартирате ново приложение за бележник от командния ред с Python 2, трябва да видите запис "Python 3" в падащото меню "New". По този начин получавате тетрадка, която използва 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
Налично е решение, което ми позволява да запазя инсталацията на MacPorts, като конфигурирам ядрото на Ipython.
Изисквания:
За 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.