لقد قمت مؤخرًا بترقية تثبيت Mac OS X 10.5 Leopard إلى 10.6 Snow Leopard ، وبهذا جاءت نسخة مطورة من Python ، 2.6.1 (بدلاً من ذلك إذا كانت 2.5.1). الآن عندما أكتب python
في المحطة ، ما زلت أحصل عليها
Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
لقد بحثت في /usr/bin/
ووجدت أنه للحصول على Python 2.6 يجب أن أكتب python2.6
.
السؤال هو: كيف أجعل خريطة الأوامر python
إلى Python 2.6؟
من السهل:
defaults write com.Apple.versioner.python Version 2.6
انظر man python
للحصول على شرح كامل من Apple.
أيضًا ، مسودة واحدة: تأكد من تشغيل Python الذي يأتي مع جهاز الكمبيوتر الخاص بك وليس البعض الآخر الذي قمت بتثبيته. قم بذلك عن طريق كتابة which python
في موجه الأوامر الخاص بك. يجب أن يشير إلى /usr/bin/python
. أذكر هذا فقط لأن افتراضي هو 2.6 تحت Snow Leopard (كان 2.5 عندما كنت أستخدم Leopard). لذا فإن حصولك على 2.5 قد يشير إلى وجود شيء آخر في طريقك.
تحديث
لمعالجة التعليقات أدناه:
هذا لا يفعل ما يطلبه الناس.
هل هذا بالنسبة لي ، في OS X 10.8.2. بعد القيام بـ defaults write com.Apple.versioner.python Version 2.6
، يكون الإصدار الافتراضي من Python هو 2.6 بالفعل. (وكذلك بعد العودة إلى 2.7)
هذا صحيح سواء قمت بتشغيل python
مباشرة ، أو استخدام برنامج نصي قابل للتنفيذ يبدأ بـ #!/usr/bin/env python
- أحصل على الإصدار المتوقع من Python.
هذا لا يحل الارتباط في/System /Library/Frameworks/Python.framework/Versions حيث يشير Current إلى 2.7 والذي قد يسبب مشاكل (لأنه لا يزال في sys.path مع 2.6!)
في الواقع ، لا يصلح هذا الارتباط.
ومع ذلك ، قم بتشغيل برنامج نصي قصير print()
s sys.path
و (على الأقل في الإعداد الافتراضي الخاص بي) ، فإن أدلة مكتبة 2.6 هي على المسار و 2.7 dirs لا على الطريق. كما أنه لا يوجد دليل Current
على المسار. لذلك لا ينبغي أن يكون مشكلة بالنسبة لمعظم النصوص.
ومع ذلك ، من الممكن - لم يتم اختبارها - استخدام الارتباط المتماثل Current
بواسطة إما easy_install
أو pip
. من شأنه أن يسبب مشاكل. من المؤكد أنه يبدو وكأنه خطأ لا يتم تحديث الارتباط عند تحديث إصدار Python.
أود أن أقترح استخدام منافذ ماك ...
هناك حزمة تسمى python_select والتي تسمح باستخدام الثعابين بشكل متواز. لذا قم أولاً بتثبيت منافذ mac إذا لم تكن مثبتة بالفعل.
قم أولاً بتثبيت حزمة python_select:
Sudo port install python_select
الآن يمكنك التحقق من توزيعات الثعبان المتوفرة على نظامك. فقط أصدر الأمر:
port select --list python (MacPorts 2.x)
python_select -l (MacPorts 1.x)
في حالتي ، تمت طباعة نسخة من الثعبان على الأقل والتي تأتي افتراضيًا مع Snow Leopard: python26-Apple
.
port select --show python (MacPorts 2.x)
python_select -s (MacPorts 1.x)
يعرض الإصدار المحدد حاليًا ، على سبيل المثال python26-Apple
. هكذا ترى ، هذه الحزمة تلعب بشكل جيد مع ماك. لمزيد من الخيارات القضية
port select (MacPorts 2.x)
python_select -h (MacPorts 1.x)
مما يمكنك البحث عن نسخة بيثون المتاحة في مستودع المنافذ:
port search python
هذا سوف ينتج قائمة طويلة سوف الثعابين المتاحة.
لتثبيت الحزم المطلوبة ، على سبيل المثال الثعبان 2.4 تنفيذ:
Sudo port install python24
الآن ، ستظهر python_select -s
الثعبان المثبت حديثًا أيضًا. للتبديل إلى إصدار python 2.4:
Sudo port select --set python python24 (MacPorts 2.x)
Sudo python_select python24 (MacPorts 1.x)
هذا الأمر مستمر بين الأصداف.
على افتراض أنك تستخدم bash ، اكتب:
% type -a python
سيُظهر لك ذلك جميع الملفات التنفيذية "python" ، والأسماء المستعارة ، ومباني Shell (على الأرجح لا شيء) أو وظائف bash في PATH.
هذا من شأنه أن يساعدك على تحديد أفضل ما يحدث هنا.
تريد إنشاء ارتباط إلى الإصدار المطلوب.
cd /Library/Frameworks/Python.framework/Versions
Sudo rm Current
Sudo ln -s /Library/Frameworks/Python.framework/Versions/2.6 Current
يؤدي ذلك إلى إزالة المؤشر الحالي إلى إصدار Python الافتراضي الخاص بك وتعيينه على الإصدار 2.6 الخاص بك.
ليست مثالية (IMO) ، ولكن هذا حل جميع التطبيقات التي تبحث عن python
في /usr/local/bin/
الخاص بي.
Sudo cp /usr/local/bin/python3 /usr/local/bin/python
بالطبع ، بعد تثبيت أحدث إصدار بيثون.