ال python
ينفذ الأمر برنامج بيثون 2. بيثون 3 يمكن تنفيذها باستخدام python3
الأمر. كيف يمكن تنفيذ بايثون 3 باستخدام python
قيادة?
يمكنك تثبيت حزمة على مستوى النظام:
$ sudo apt install python-is-python3
انظر المحاذير:بيثون هو بيثون3 حزمة في أوبونتو 20.04-ما هو وماذا يفعل في الواقع?
طريقة آمنة بسيطة هي استخدام اسم مستعار. ضع هذا في ~/.bashrc
أو ~/.bash_aliases
الملف:
alias python=python3
بعد إضافة ما سبق في الملف ، قم بتشغيل source ~/.bashrc
أو source ~/.bash_aliases
.
على سبيل المثال:
$ python --versionPython 2.7.6$ python3 --versionPython 3.4.3$ alias python=python3$ python --versionPython 3.4.3
للتحايل على الاسم المستعار استخدام command
المدمج في الأمر:
$ command python --versionPython 2.7.6
طريقة أخرى للتحايل على الاسم المستعار هي استخدام \
قبل الأمر.
$ \python --version Python 2.7.6
لتعطيل الاسم المستعار في قذيفة الحالية استخدام unalias
المدمج في الأمر:
$ unalias python$ python --versionPython 2.7.6
على أوبونتو 20.04+ مجرد تركيب python-is-python3
الباقة:
sudo apt install python-is-python3
علاوة على ذلك ، يمكنك منع تثبيت بايثون 2 كتبعية لشيء ما في المستقبل باستخدام apt-mark hold
:
sudo apt-mark hold python2 python2-minimal python2.7 python2.7-minimal libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
[يونيو 2016] المكان الموصى به للحصول على معلومات حول الانتقال رسمي أوبونتو بايثون الصفحة.
من ال أوبونتو ويكي:
لكل من أوبونتو وديبيان ، لدينا الجارية المشروع الأهداف لجعل بايثون 3 الافتراضي ، يفضل إصدار بايثون في التوزيعات.
ما هذا لا يعني:
/usr/bin/python
سوف نشير إلى بيثون 3. لا ، هذا لن يحدث (ما لم بيب 394 يدافع عن خلاف ذلك ، وهو أمر مشكوك فيه في المستقبل المنظور)./usr/bin/python
و/usr/bin/python2
سوف نشير إلى بيثون 2.7 و/usr/bin/python3
سوف نشير إلى أحدث إصدار بايثون 3 المدعومة.بيثون 2 سيتم إزالتها من الأرشيف. لا ، هذا لن يحدث. نتوقع أن تظل بايثون 2.7 مدعومة ومتاحة في أوبونتو لفترة طويلة ، بالنظر إلى ذلك بيب 373 يعد بدعم صيانة إصلاح الأخطاء المنبع حتى عام 2020.
فمن غير المستحسن لتغيير الارتباط الرمزي بسبب تبعيات حزمة أخرى ، ولكن لديهم "أهداف المشروع الجارية لجعل بيثون 3 الافتراضي ، يفضل إصدار بيثون في التوزيعات".
لاستخدام كلي ، مثل @ رادو راديانو، أوصي بوضع اسم مستعار في المستخدم ~/.bashrc
, .bash_aliases
ملف (الملفات المختلفة ، بما في ذلك ~/.bash_profile
، يتم تحميلها مرة واحدة على الأقل ، وهي في الغالب لأغراض تنظيمية ، ولكنها قد تختلف حسب النظام الأساسي). بايثون البيئات الافتراضية أيضا تعمل بشكل جيد.
أمثلة الاسم المستعار:
alias python=python3
أو
alias python='/usr/bin/python3'
يجب أن تستمر البرامج النصية في استخدام شيء مثل #!/usr/bin/env python3
للتوافق المتبادل.
باستخدام env
هو لطيف للاستخدام المختلط مع البيئات الافتراضية.
ملاحظة (بفضل وجاندريا): الأسماء المستعارة هي جزء من وقت التشغيل باش ، وليس بيئة المستخدم. لذلك ، فهي غير متوفرة لشيبانج (#!
). إذا كنت تفضل الاسم المستعار بيثون = بيثون3 ، ثم بعض program.py
دون شيبانغ يمكن تنفيذها عن طريق استدعاء مترجم مستعارة مثل هذا python program.py
. قد يكون التعرج مفيدا أيضا للأنظمة ذات الإصدار المتعدد من بيثون 3 مثل 3.4 و 3.6 معا.
تحديث: هذه هي الطريقة الخاطئة ، لقد تعلمت ، منذ بيثون 2 و بيثون 3 ليست قابلة للتبديل.
يمكنك تجربة أداة سطر الأوامر update-alternatives
.
$ sudo update-alternatives --config python
إذا كنت تحصل على خطأ & مثل; لا بدائل لبيثون & مثل; ثم إعداد بديل نفسك مع الأمر التالي:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
تغيير المسار /usr/bin/python3
إلى إصدار الثعبان المطلوب وفقا لذلك.
أوبونتو ، وبقية توزيعات لينكس لهذه المسألة ، لا تزال تعتمد إلى حد كبير على بيثون 2.7 لعدد من التطبيقات والأوامر. إذا قمت بتغيير المرجع الافتراضي من" بيثون " إلى بيثون 3.س ، ثم عددا من وظائف بيثون ستبدأ رمي أخطاء التأكيد.
على سبيل المثال ، على أوبونتو ، 'نقطة' لأحد لن تعمل بشكل صحيح إلا إذا قمت بتحرير الملف مباشرة وغيرت شيبانغ للإشارة'#!/ البيرة / بن / البيئة بيثون2.7'. على ريل (ريد هات إنتربرايز لينكس) النكهات مثل ريد هات ، فيدورا و سينتوس ، الأمر 'يم' يعتمد أيضا على بيثون 2.7.
وجهة نظري هنا هو أنك سوف تتسبب في كمية كبيرة من التعليمات البرمجية لبدء رمي أخطاء التأكيد فقط حتى تتمكن من كتابة 'بيثون' في محطة للإشارة بيثون 3.x.
كنت أفضل حالا مع استخدام 'بيثون 3' الأمر في محطة وشيبانج'#!/ البيرة / بن / بيثون3 ' في بيثون الخاص بك 3.س الملفات.
هل
cd ~gedit .bash_aliases
ثم اكتب إما
alias python=python3
أو
alias python='/usr/bin/python3'
احفظ الملف وأغلق الجهاز وافتحه مرة أخرى.
الرابط
أجد أنه من المفيد جدا لإزالة ببساطة / البيرة / بن / بيثون و/البيرة/بن / نقطة. هذا يجبر جميع البرامج على الاعتماد على أوامر" بيثون 2 "و" بيثون 3".
على الرغم من أن بعض الحزم الاختيارية والقديمة تعتمد على #!/usr/bin/python
للعمل ، أفضل إرسال تصحيحات إلى تلك البرامج بدلا من الاستمرار في ارتكاب أخطاء غريبة وأحيانا يصعب تصحيحها.
cat > /usr/local/bin/py << 'EOF'#!/bin/dashpython3 "$@"EOF
(شريطة أن يكون لديك إذن الكتابة إلى / البيرة / المحلية / بن) وبالمثل
cat > /usr/local/bin/pyi << 'EOF'#!/bin/dashpython3 -i "$@"EOF
ثم كنت اكتب الحمر فقط (واستخدام الحمر في #! خطوط) لالبيثون الذي اخترته.
مجرد تحذير: لا تحاول تغيير /البيرة/بن/بيثون الارتباط الرمزي للإشارة إلى بيثون 3 بدلا من 2.7. العديد من البرامج المتاحة في اتفاقيات إعادة الشراء أوبونتو تتطلب /البيرة/بن/بيثون لتكون متوافقة مع بيثون 2.x.
على ملاحظة أخرى ، أي شخص يأتي هنا لأنهم يحاولون معرفة المزيد عن جعل بيثون 3 الافتراضي ، قد تجد بدلا من ذلك استخدام في البحث البيئات الافتراضية (على سبيل المثال فيرتوالينف) أو حاويات (على سبيل المثال لك أو عامل الميناء).
@ وجاندريا ، نعم حتى في بيئة افتراضية ، بيثون
يجب أن تبقى كما يعني بيثون 2
. قصدت تعليقي كطريقة للحصول على إصدار بايثون خاص بالتطبيق بدلا من محاولة التغلب على بايثون النظام.
آه ، الآن حصلت على ما قصدته مع الترقية… في الواقع المطورين أوبونتو تعمل على ذلك: Python/3 - Ubuntu Wiki “إنه هدف الإفراج عن أوبونتو 14.04 لتس أن يكون فقط بيثون 3 على سطح المكتب سد الصور.”
في إشارة إلى تحذير سولسورس في الجزء العلوي انظر بيب 394 الذي يوحد اصطلاحات التسمية لملفات بايثون التنفيذية المتعايشة والتي يعتمد عليها مبرمجو بايثون ومشرفو الحزم (ويجب عليهم) الاعتماد عليها.
‘سودو الرابطة بين تثبيت بيثون هو بيثون 3’ (لأوبونتو 20.04+)
@سولسورس ، نعم أنا على علم بذلك. لهذا السبب سألت هل هناك خيار" ترقية " متاح أم لا.
أعتقد أن الجواب من قبل رادو رشديانو هو بالفعل قريبة جدا من الحل الأمثل. فإنه ينطبق فقط على مستخدم واحد، وليس فقط في الواقع لتشغيل مباشرة بيثون كتابة الأمر بيثون ، لا تؤثر على البرامج مع #!/ البيرة / بن / بيثون شيبانج.
@سولسورس هذا ما أبحث عنه! شكر!
@ كيفن حاولت فقط استخدام فيرتوالينف ، ولكن بمجرد أن فتحت جيديت من المحطة ، حصلت على مجموعة من الأخطاء تسبب الإضافات يبدو أن تحتاج بيثون 2. مشاكل مماثلة يمكن أن يحدث لأي برنامج آخر يعتمد على الأمر ‘بيثون’ يجري بيثون 2.