2010-09-02 6 views
8

Neden sistem varsayılan python'u Apple'ın yapabileceğimi söylediği şekilde değiştiremiyorum? Bu yardım sayfada

http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man1/python.1.html

Elma diyor ki:

çalıştırırken

 % defaults write com.apple.versioner.python Version 2.5 

versiyon 2.5 kullanıcı varsayılan yapacak kullanma DEFAULT PYTHON

DEĞİŞTİRME her ikisi de python ve pythonw komutları (sürüm , kullanılan sürüm seçim yazılımının iç adıdır).

Bu işlem işe yaramıyor!

tppllc-Mac-Pro:~ swirsky$ python --version 
Python 2.7 
tppllc-Mac-Pro:~ swirsky$ defaults write com.apple.versioner.python Version 2.5 
tppllc-Mac-Pro:~ swirsky$ python --version 
Python 2.7 

ve ne 32 bit piton varsayılan

64-BIT DESTEK yapmak için anahtarı yapar

Sürüm 2.6 (varsayılan olarak açıktır) 64 bit yürütme destekler. Sürüm 2.5 yalnızca 32 bit yürütmeyi destekler.

Python sürümünde olduğu gibi, python komutu 32 ve 64 bit yürütme arasında seçim yapabilir (her ikisi de mevcut olduğunda). Kullanın:

 % defaults write com.apple.versioner.python Prefer-32-Bit -bool yes 

32-bit yürütme ( /Library/Preferences/com.apple.versioner.python sistem çapında varsayılan ayarlar kullanılarak) kullanıcı varsayılan yapmak için.

 % export VERSIONER_PYTHON_PREFER_32_BIT=yes # 

Bourne benzeri kabuk ya da

 % setenv VERSIONER_PYTHON_PREFER_32_BIT yes # 

Cı benzeri kabuklar

I': VERSIONER_PYTHON_PREFER_32_BIT de kullanılabilir olabilir değişkeni (tercih dosyası üzerinde önceliğe sahiptir) Burada bir çukur aşağı m. Çalışmak için wxpython almaya çalışıyorum. Ama Apple Python 2.7'de çalışmayacak çünkü 64 bitlik bir karbon desteği yok ve henüz kaka destek henüz bitmedi.

=== GÜNCELLEME === tüm yardımlarınız için

teşekkürler! Gizem çözüldü. Kafamı karıştıran bir şey, dizüstü bilgisayarımda (32-bit) wxpython (yeni bir i5 macbook pro) çalıştıran bir sorunum olmadı, fakat masaüstümde çalışmayacaktı (son zamanlarda bir i7 mac pro).

Her ikisi de python 2.7'ye sahipti ve bunun aynı olduğunu varsaydım. Ama değildi!

Mac Pro, x86_64

tppllc-Mac-Pro:~ swirsky$ file `which python` 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 3 architectures 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc7400): Mach-O executable ppc 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64 

inşa vardı ve dizüstü vermedi:

thrilllap-2:thrillscience swirsky$ file `which python` 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python: Mach-O universal binary with 2 architectures 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture ppc): Mach-O executable ppc 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python (for architecture i386): Mach-O executable i386 

benim masaüstü makinede x86_64 sürümü olmadan teker yeniden yüklemek olacak gibi Henüz 64 bit desteğine ihtiyacım yok.

+0

Merhaba, python i386'yı nasıl yükleyebilirim? – Believe2014

cevap

3

OS X 10.6 ile birlikte gelen python sürümünün 2.6 olduğunu düşünüyorum. Komut satırının 2.7 olduğunu söylemesi gerçeği, eğer doğru anlarsam, başka bir yolla 2.7 kurdunuz. (Muhtemelen macports, fink veya doğrudan derlenmiş.) Apple tarafından sağlanan python olmayanlar genellikle Apple'ın sürüm sistemini desteklemez. Aşağıdakileri çalıştırabilir misiniz?

$ which python 

/usr/bin/python mu?

+1

Gerçekten de, kullanıcının nokta dosyalarından birinde de oluşturulabilir. Python 2.7'nin bir yerde olup olmadığını görmek için echo $ PATH'ı deneyin. –

+0

Eğer 'hangi python' geri dönmezse '/ usr/bin/python' çözümü nedir? – mrsoltys

12

defaults write com.apple.versioner.python ve VERSIONER_PYTHON_PREFER_32_BIT Elma geliştirilen değişiklikler ve X 10.6 (Python 2.6.1) OS /usr/bin/python Apple tarafından sağlanan için sadece geçerlidir. (GÜNCELLEME: Bu aynı zamanda OS X 10.7 Aslan için de geçerlidir.) Python 2.7 yükleyicilerinden birini kullanarak bir Python 2.7 yüklemiş olabilirsiniz. Şu anda python.org adresinden temin edilebilen iki adet 2.7 kurulumcu var, biri (10.5 ve üstü için) hem 32 bit hem de 64 bit desteği içeriyor. İkincisi (10.6 dahil 10.3 ve üstü için) sadece 32-bittir. Muhtemelen ilkini sen kurdun. Her zaman 32-bit kullanmak isterseniz diğer yükleyici kullanarak 2.7 yeniden yükleyebilirsiniz,

$ arch -i386 python2.7 

Veya: 32-bit modunda çalıştırmak zorunda için, arch komutunu kullanarak çağırmak. Python.org'un 64-bit yükleyicisinin 2.7'de yeni olduğunu unutmayın. Ve ne yazık ki, bununla ilgili birkaç sorun var, yani Tkinter ve onu kullanan programlar (IDLE dahil) OS X 10.6'da başarısız oluyor. Bu, bir bakım güncellemesinde giderilecektir. Onlara 10.6'da ihtiyacınız varsa, şimdilik şimdilik 32 bit sadece yükleyiciye bağlanın.

Büyük olasılıkla komut python şimdi 2.7 çağırır sebebi python.org yükleyici kabuk arama PATH ilk olarak çerçeve bin dizini koymak .bash_profile gibi, giriş profillerini günceller olmasıdır.

$ echo $PATH 
/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin: # ... 
$ which python 
/Library/Frameworks/Python.framework/Versions/2.7/bin/python 
$ /usr/bin/python 
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29) 
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^D 
$ python 
Python 2.7 (r27:82508, Jul 3 2010, 21:12:11) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^D 
$ python -c 'import sys;print("%x"%sys.maxint)' 
7fffffffffffffff 
$ arch -x86_64 python -c 'import sys;print("%x"%sys.maxint)' 
7fffffffffffffff 
$ arch -i386 python -c 'import sys;print("%x"%sys.maxint)' 
7fffffff 
İlgili konular