2014-01-21 69 views
9

全新的Python,只是在我開始搞東西之前就開始安裝和安裝了。我的理解是,Python 2.7和Python 3.3之間存在一些顯着的差異/不兼容性,儘管這兩個版本都很好用,所以我認爲最好是安裝都在(在他們自己的安裝目錄中)。在CMD中,「python」啓動Python 3.3,「py」啓動Python 2.7,我該如何改變它?

安裝時,我使用了新的3.3功能,安裝程序爲我設置了PATH變量,但是此選項在2.7中不存在。安裝完兩個版本之後,我嘗試了一個快速測試,打開命令提示符,然後鍵入python以啓動一個交互式會話,正如我所希望的那樣,它啓動了python 3.3。

我也知道較短的py命令。但是,當我在命令提示符下嘗試py時,它會顯示python 2.7。我可以使用py -3來調出3.3,但這會讓它比我們需要的時間更長,並且看到我將主要處理3.3版本,我希望pypython能夠調出Python 3.3交互式會話。

我對Window的PATH系統有些熟悉,但我不明白爲什麼會發生這種情況。我怎樣才能設置它,使pypython,當鍵入到Windows命令提示符,將啓動Python 3.3交互式會話,除非另有規定,例如,通過類似py -2

謝謝。

+1

花絮:在默認情況下,如果不會被環境變量,ini文件或參數覆蓋 - Python啓動程序將始終偏向Python 2而不是Python 3安裝(如果兩者都可用)。情況就是這樣,因爲在源代碼中,版本2的檢查只是[先到達](http://hg.python.org/cpython/file/c3896275c0f6/PC/launcher.c#l445)。 – poke

回答

27

pyWindows Python launcher,它可以啓動任何 Python版本。

在大多數系統上,py被配置爲在默認情況下啓動Python 2.7(這是除Python 3.6和更新版本之外的默認設置,其中將運行Python 3)。如果您想改變這種情況,您有兩種選擇:

  1. 設置一個environment variable; PY_PYTHON=3將使py代替運行最新的Python 3解釋器。

  2. 與內容創建應用程序目錄中的文件py.ini

    [defaults] 
    python=3 
    

    這有作爲PY_PYTHON環境變量相同的效果。通常,您的應用程序目錄位於C:\Documents and Settings\[username]\Application DataC:\Users\[username]\AppData\Local\py.ini中,具體取決於Windows版本。

您還可以添加一個#! shebang行到腳本(第一行)告訴發射器使用Python 3,當你雙擊這樣的文件:

#! python3 
+0

這樣做,謝謝。我使用了第一個選項,因爲它看起來比較「乾淨」。 – Tomha

+0

第一行'#! python3'不適用於我,爲什麼? – zhangxaochen

+0

@zhangxaochen這適用於我在Win7上:'#!/usr/bin/python3' –

6

「PY」是蟒蛇發射器,你可以選擇加入PARAMS -2-3推出的版本,請參見下面的幫助說明:

C:\> py -h 
Python Launcher for Windows Version 3.3.2150.1013 

usage: py [ launcher-arguments ] script [ script-arguments ] 

Launcher arguments: 

-2  : Launch the latest Python 2.x version 
-3  : Launch the latest Python 3.x version 
-X.Y : Launch the specified Python version 

例如,我的機器上,py開始蟒蛇2通過默認情況下,加入-3使得它開始蟒蛇3:

C:\> py 
Python 2.7.4 |Anaconda 1.5.0 (32-bit)| (default, Apr 9 2013, 12:19:24) [MSC v.1 
500 32 bit (Intel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

C:\> py -3 
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (In 
tel)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
+0

我不知道這個+1配偶。 –

+0

我明白我可以如何選擇帶參數的版本,但是目前沒有參數的'py'默認爲版本2.7,就像你的版本一樣,但是我希望它默認使用3.3版本,因爲我最多使用3.3版本, py'比「py-3」稍短。這可能嗎? – Tomha

+0

@ user2649607,我想讓它成爲批處理文件或快捷方式鏈接,然後將其固定到任務欄或開始菜單。此外,我想使用'autohotkey'將程序的啓動綁定到某個熱鍵,這樣我就可以通過按'ctrl + shift + p'(或任何你喜歡的)來啓動它。 – zhangxaochen