2013-04-09 14 views
35

Python 3'ün kurulumu, herhangi bir şey bozmadan python 2'nin kurulumu için bir yol var mı? Ana sorun "python xxxxx.py abc123" ile çalışan bir kod var. Python 3'ü "python3 xxxx.py abc123" olarak değiştirmenin bir yolu var mı? Aynı komut python çatışmaWindows 7'de python 2 ve 3'ü nasıl çalıştırırım?

+0

"Python'u yükleme" sadece bir grup klasörün çıkarılması gibi bir şey. Sadece yükleyicileri çalıştırın ve C sürücünüzde bir python26 ve python32 klasörleri olacak.Komutla ilgili olarak, diğer her birini kullanmak istediğinizde ortam değişkenleriyle biraz uğraşmanız gerekecek, bu yüzden PATH'yi değiştirmek için kısa bir bash komutuna ihtiyaç var mı? –

+0

http://j.mp/ZfKVrb belki bu yardımcı olacaktır – dnelson

+0

Python 3.3 ondan gerekli hiçbir işe yaramaz. – pepr

cevap

80

Windows'ta Python 2 ve Python 3'ün bir arada bulunma/başlatmanın daha iyi bir yolu vardır. Python 3.3, Windows için Python başlatıcısını tanıttı (bkz. http://www.python.org/dev/peps/pep-0397/). Python 3.3, py.exe ve pyw.exe sizin c:\Windows dizine kopyalanır ve bu başlatıcısı kullanması için dernekler .py uzantı için ayarlanır montajı yapıldıktan sonra

. Varsayılan olarak, py script.py için Python 2 başlatıldı. py -3 script.py (Bu ayrıca Python için bir yol ortamına eklenmesi gerektiği anlamına gelir. - C:\Windows zaten PATH olan) Python 3. başlattı

en iyisi komut #!python2 Python aracılığıyla lauching neden olur ki 2, #!python3, Python 3 ile betiğin başlatılmasına neden olur. Bu şekilde, Python'un her iki sürümü için komut dosyaları kullanabilir ve bunları birleşik şekilde (py script.py) veya yalnızca komut simgesine tıklayarak yapabilirsiniz.

Daha fazla ayrıntı var ama temel olarak ihtiyacınız olan şey bu.

Güncelleme: Windows için Python başlatıcısı kullanırken, ayrıca > script.py yazarak cmd penceresinden Python komut dosyasını başlatabilirsiniz (açıkça py Python başlatıcısı --Forum adı yazmadan olduğunu - komut önünde isim) veya .py uzantısını içermeyen bir isim yazarak (bu sadece > script).

Bu sayede işler adlandırma komut dosyalarının Unix yöntemine benzemeye başlar (uzantıya gerek kalmadan); Ancak, komut dosyasını oluştururken hala .py uzantısını eklemeniz gerekir.

(Evet, Unix yaklaşımı biraz daha dağınık. Bu arasındaki farktır "! Önce düşün" ve "ilk sat!" Oses'lerin gelişmelerin yaklaşımlar. Neyse, benim Python geliştirme ekibinin kudosunu Windows'dan en iyi şekilde sıkıştırmak için - Windows için Python başlatıcısını serbest bırakarak.)

+7

Hiçbir py.exe veya pyw.exe göremiyorum. Ben Python başlattığınızda Ama olsun: 'Ölümcül Python hatası: Py_Initialize: ^ SyntaxError \, 123 CodecRegistryError yükseltmek, çizgi: Dosya sistemi codec'i Dosya "\ Python27 \ lib \ kodlamaları \ __ init__.py C" yükleyemedi : geçersiz sözdizimi. Bu python3'ün python2 şeylerini başlatmaya çalıştığı anlamına geliyor. – CMCDragonkai

+0

Aslında py.exe, C: \ Python33'tür. Ama eğer py-3'ü başlatmayı denersem, yukarıdakiyle aynı hatayı alırım. – CMCDragonkai

+0

@CMCDragonkai: Bunu doğrulayamıyorum. Benim disk üzerinde sahip olduğum tüm Python sürümlerini kaldırdım, ayrıca C: \ PythonXX (site paketleri ile birlikte) fiziksel olarak kaldırarak C: \ Windows \ py.exe ve pyw.exe'yi de fiziksel olarak kaldırdım. Daha sonra http://www.python.org/ftp/python/2.7.6/python-2.7.6.amd64.msi dosyasını indirip yükledim (C: \ Windows'a py.exe eklenmedi) ve ardından http: //www.python.org/ftp/python/3.3.2/python-3.3.2.amd64.msi - py.exe ve pyw.exe C: \ Windows'a eklendi. Windows'un hangi sürümü var? – pepr

6

gereksinimlerinizi karşılayacak emin değilim, ama virtualenv bakmak gerekir: http://www.virtualenv.org/en/latest/

Bu kullanarak (eğer Python 2 ve 3 için ayrı ortamlar oluşturmasına olanak tanıyacak - p bayrağı). Kullanım durumunuz bunun işe yaramayacağı bir şeyse, sorunu daha ayrıntılı bilgilerle güncelleyin. Eminim başka öneriler de alırsınız.

2

Python3'ü ayrı bir dizine yüklediğinizi varsayarak, python 3 yürütülebilir dosyasını python3.exe olarak yeniden adlandırabilirsiniz.

+1

'.exe’in yeniden adlandırılması, @pepr tarafından önerilen 'py -3' kullanımını kırar. – Kevin

0

Python 3 veya Python 2 yolunuzu eklemek için ortam değişkeninizi düzenlemeniz gerekir.

İlgili konular