2015-01-14 37 views
2

我已經通過SO搜索,但還沒有找到明確的答案,我正在嘗試做什麼。如果答案已經存在,我會很感激URL的傳遞。作爲參考:我是運行多個Python版本的新手,可以通過兩個解釋器運行代碼。我在Windows 7上,並使用了anaconda發行版。打開IPython筆記本2.7和3.4並行

在我的cmd中,我已經將Python2.7作爲默認激活。要訪問Python2.7和Python3.4,我分別使用pythonpy -3。我希望能夠同時打開2.7和3.4的IPython瀏覽器筆記本,但不知道該命令的外觀/如何確定哪個瀏覽器窗口正在使用哪個解釋器。

從@Jonas Buckner對How to activate Ipython Notebook and QT Console with Python 3.4 in Anaconda 2.0的評論,似乎我可以指定端口。我的問題是,我怎麼知道哪個端口#與每個版本相關聯?這是固定的,還是有某種方式可以確定哪個端口?

ipython notebook not launching提到ipython vs ipython3,我真的更喜歡這個port方法。然而,當我嘗試ipython3 notebook,我得到:

'ipython3' is not recognized as an internal or external command, operable program, or batch file. 

是否有可能建立一個別名?如果是這樣,怎麼樣?

從上面重申,一旦我平行打開筆記本電腦,有沒有辦法讓我知道哪個筆記本是哪個版本?

在此先感謝!

+0

你是怎麼安裝ipython的? –

+0

使用anaconda分佈。我通常使用3.4,但必須爲項目安裝2.7。 –

+0

你有沒有嘗試使用pip安裝ipython for python3? –

回答

1

可以指定的端口,所以選擇每個版本使用的端口號; python2和python3沒有預定義的端口。

例如:

ipython notebook --port=10000 

將運行IPython中,使用默認的Python解釋器,端口10000。然後您可以通過http://localhost:10000/tree連接到該筆記本。

都說ipython2啓動IPython的與python2.7同時ipython3啓動IPython的與python3.4,你可以用下面的命令同時運行IPythons:

ipython2 notebook --port=27272 
ipython3 notebook --port=34343 

如果一個網頁的URL與localhost:27272那麼筆記本是開始運行python 2.7,而如果URL以localhost:34343開頭,那麼筆記本運行python 3.4。


注意這一點,本身具有什麼做不同的Python版本。 您可以使用相同的解釋器在不同的端口上運行兩個IPython實例。

如果你想與特定的解釋器啓動IPython都可以使用-m開關啓動它作爲一個模塊:

python2.7 -m IPython notebook --port=27272 
python3.4 -m IPython notebook --port=34343 

,所以你不需要有ipythonipython3作爲識別的命令。你只需要能夠運行兩個不同的解釋器。

再說一遍:要了解您使用的是哪個版本的解釋器,只需查看URL中的端口號即可。或者你可以在翻譯中檢查sys.version_info


如果您必須經常這樣做,您可能有興趣將端口號設置置於配置文件中。我不知道是否有可能有兩個不同的配置文件,一個用於python2,一個用於python3。但是,在文件內部,您可以檢查版本並設置正確的端口號。

+0

OP聲明ipython3不被識別 –

+0

@PadraicCunningham這就是爲什麼下面我告訴他他可以使用'python3.4 -m IPython'來代替。他可以創建一個別名'alias ipython3 = python3.4 -m IPython'。 – Bakuriu

+1

別名適用於Windows?我認爲他也是她 –

1

可以在ipython_notebook_config.py文件,它通常位於~/.ipython/profile_nbserver目錄

例如指定端口,在我的個人資料我已經將它設置爲在端口運行9999

# Configuration file for ipython-notebook. 
c = get_config() 
c.NotebookApp.port = 9999 

你可以得到Python版本使用以下命令:

import sys 
print (sys.version)