我想配置jupyter允許我在兩個不同的筆記本中同時運行python 2.7和3.4內核(或者甚至可以在一個筆記本中從一個筆記本轉換到另一個筆記本)。(How)我可以在jupyter(ipython)中並排運行python 2.7和3.4筆記本嗎?
(1)這可能嗎?
我在問,因爲在Using both Python 2.x and Python 3.x in IPython Notebook中建議這樣做是可能的,但沒有提供詳細的答案,說明這個方法的工作原理。
你也可以在看到它看起來非常可行(甚至可以從一個python 2內核切換到python 3內核)。所以我認爲有理由認爲這確實是可能的(但如果我錯了,請糾正我)。
(2)這是如何完成的?
以前的答案(例如,在Open IPython Notebook 2.7 and 3.4 in Parallel)建議在兩個不同端口開始2 不同 IPython的筆記本服務器。這當然是完全合乎邏輯和可能的,但是不是回答我的問題。
我設法安裝ipython
爲Python 2 & 3.然後,我通過調用每個相應的Python環境下得到了兩個內核中jupyter
露面:
ipython kernelspec install-self
這創造kernel.json
文件對我來說我現在可以選擇其中任何一個在jupyter
中創建一個新筆記本。爲Python 2的kernel.json
例如:
{
"display_name": "Python 2",
"language": "python",
"argv": [
"/usr/local/opt/python/bin/python2.7",
"-m",
"ipykernel",
"-f",
"{connection_file}"
]
}
的問題是,當我開始jupyter
從蟒2環境(具有限定$PYTHONPATH
),I只能運行蟒2內核(打開時,另一個將崩潰相應的筆記本)。同樣,當我從python 3環境($PYTHONPATH
定義)開始jupyter
。這通常對我有意義,但我想知道如何啓動或配置jupyter
以允許兩個內核從相同的jupyter
實例運行,並仍指定我自己的特定$PYTHONPATH
s以能夠加載我的包。
我想這是我的實際問題 - 在我開始jupyter
之前預定義$PYTHONPATH
。於是我就打電話:
unset PYTHONPATH
ipython notebook
我現在確實是從一個單一的jupyter
實例同時運行的內核(PY2 & 3),但我不能從特定的本地目錄中加載Python包。我想我可以在筆記本電腦中手動做到這一點:
import sys
sys.path.append("/some/path/lib/python2.7/site-packages")
但這是真的,我應該這樣做嗎?或者我可以配置額外的目錄,我通常在其他地方寫入$PYTHONPATH
(例如那個kernel.json
文件?
PS:請不要問爲什麼我需要這個 - 不,我不真的需要它 - 但我仍想知道是否和如何這是可能的。
[編輯]
請注意,我會不舒服安裝一些Python管理實用程序(如蟒蛇)來完成這一切,(除非它是唯一的方法)。
好的,我一路回答了一些最初的問題,但請讓我知道你是否可以幫助'$ PYTHONPATH'部分:)謝謝! – Chris