أكثر

كيف تستخدم إصدارين مختلفين من Python (3.4 و 2.7) لبرمجة QGIS؟

كيف تستخدم إصدارين مختلفين من Python (3.4 و 2.7) لبرمجة QGIS؟


أعتزم تعلم البرمجة باستخدام Python في QGIS ، لكن لدي بضعة أسئلة.

أنا أستخدم Python 3.4 للتعلم المثبت في جهاز الكمبيوتر المحمول الخاص بي ، لكن QGIS يستخدم Python2.7

كيف يمكنني العمل مع الاثنين معا؟ إنشاء إدخال في PYTHONPATH مثل C:… python27 (أينما كان في دليل QGIS) وإضافة shebang #!… python27 في بداية البرامج النصية الخاصة بي؟

هل هناك طريقة أخرى للعمل مع كلا الإصدارين؟

أنا أستخدم PyQT ونفس السؤال مرة أخرى. تم تثبيت أحد المصممين في python3.4 وآخر في دليل QGIS.

كيف تعمل؟


جريت عبر هذه المشكلة وتوصلت إلى حل. أضفت منشور سؤال / إجابة لإضافة بعض البصيرة لهذه المشكلة: استخدام PyQGIS و ArcPy و NumPy و SciPy معًا في موجه أوامر Windows


3. استخدام بايثون على نظام التشغيل Windows¶

يهدف هذا المستند إلى تقديم نظرة عامة حول سلوك Windows المحدد الذي يجب أن تعرفه عند استخدام Python على Microsoft Windows.

على عكس معظم أنظمة وخدمات Unix ، لا يتضمن Windows تثبيتًا مدعومًا لنظام Python. لإتاحة Python ، قام فريق CPython بتجميع برامج تثبيت Windows (حزم MSI) مع كل إصدار لسنوات عديدة. تهدف أدوات التثبيت هذه بشكل أساسي إلى إضافة تثبيت Python لكل مستخدم ، مع استخدام المترجم والمكتبة الأساسية بواسطة مستخدم واحد. يمكن للمثبت أيضًا التثبيت لجميع مستخدمي جهاز واحد ، ويتوفر ملف ZIP منفصل للتوزيعات المحلية للتطبيق.

على النحو المحدد في PEP 11، إصدار Python يدعم فقط نظام Windows الأساسي بينما تعتبر Microsoft النظام الأساسي تحت الدعم الموسع. هذا يعني أن Python 3.9 يدعم Windows 8.1 والإصدارات الأحدث. إذا كنت بحاجة إلى دعم Windows 7 ، فالرجاء تثبيت Python 3.8.

هناك عدد من أدوات التثبيت المختلفة المتاحة لنظام التشغيل Windows ، ولكل منها مزايا وعيوب معينة.

يحتوي المثبت الكامل على جميع المكونات وهو الخيار الأفضل للمطورين الذين يستخدمون Python لأي نوع من المشاريع.

حزمة Microsoft Store عبارة عن تثبيت بسيط لـ Python مناسب لتشغيل البرامج النصية والحزم ، واستخدام IDLE أو بيئات التطوير الأخرى. يتطلب نظام التشغيل Windows 10 ، ولكن يمكن تثبيته بأمان دون إتلاف البرامج الأخرى. كما أنه يوفر العديد من الأوامر الملائمة لإطلاق Python وأدواتها.

حزم nuget.org عبارة عن تركيبات خفيفة الوزن مخصصة لأنظمة التكامل المستمر. يمكن استخدامه لبناء حزم Python أو تشغيل البرامج النصية ، ولكنه غير قابل للتحديث ولا يحتوي على أدوات واجهة مستخدم.

الحزمة القابلة للتضمين هي حزمة صغيرة من Python مناسبة للتضمين في تطبيق أكبر.


كيفية تحديث Python 3.5.2 إلى 3.6.2

نظرًا لأنه لا يزال هناك الكثير من الحزم التي تعتمد على Python2.x ، لذا يجب أن تلقي نظرة فاحصة على الحزم التي تريد apt إزالتها قبل السماح لها بالمتابعة.

بعد ذلك يمكنك تثبيت نسختك المطلوبة عن طريق


الخطأ واضح نوعا ما. الحزمة التي تحاول تثبيتها تدعم Python 3.6+ فقط.

خياراتك هي إما تثبيت أحدث إصدار من python (والذي يتوفر له العديد من الأدلة عبر الإنترنت) أو الترقية إلى إصدار أحدث من Ubuntu LTS (يقترب 16.04 من نهاية الحياة).

يبدو أنك تمكنت بطريقة ما من تثبيت إصدار أحدث من stomp.py (6.0.0) والذي لا يتوافق مع Python 2 ، والذي يتم دعمه فقط حتى الإصدار 4.x.x.

أقترح عليك إلغاء تثبيت stomp.py والسماح له بتثبيت الإصدار الصحيح مرة أخرى كعنصر تبعية. لقد اختبرته في حاوية Ubuntu 16.04 جديدة وعملت بشكل جيد بالنسبة لي ، على الرغم من أن ضع في اعتبارك أنك تحتاج أيضًا إلى أحدث إصدارات من pip و setuptools لبناء كل شيء وتثبيته بشكل صحيح ، مما جربته:

ومع ذلك ، في حين أنه من الممكن تثبيت elastalert على Python 2.7 ، فهو متوافق أيضًا مع Python 3 (تم اختبار الإصدار الافتراضي لـ Ubuntu 16.04's 3.5) ، والذي يجب أن يكون هو السبيل للذهاب ، ما لم يكن لديك شيء محدد يعيقك ، مثل Python 2 تم إهماله ولم يعد مدعومًا بالتحديثات.


3 إجابات 3

لتثبيت scipy لـ python3.x the على توزيعة تعتمد على Debian:

هذا يتوافق مع python2.x المكافئ:

في ملاحظة أكثر استقلالية عن النظام الأساسي ، فإن النقطة هي الطريقة الأكثر شيوعًا لتثبيت حزم بايثون:

للتأكد من أنك تستخدم إصدار النقطة الصحيح ، يمكنك دائمًا أن تكون أكثر وضوحًا:

أيضًا ، أعتقد أن أناكوندا أو miniconda خفيفة الوزن تهدف إلى جعل تثبيت حزم python ذات التبعيات المعقدة أكثر سهولة ، بالإضافة إلى أنها تسمح باستخدام بيئة ، مما يسهل الحصول على العديد من التكوينات مع الإصدارات غير المتوافقة وما إلى ذلك. استخدم ثنائي بايثون مختلفًا عن الموجود في نظامك بالرغم من ذلك.

يمكن للمرء بعد ذلك تثبيت scipy باستخدام الأمر conda:

إذا قمت بتثبيت scipy لإصدار معين ، فسيتعين عليك إنشاء بيئة باستخدام إصدار python هذا:

يمكن للمرء أيضًا استخدام النقطة داخل بيئة conda جنبًا إلى جنب مع حزم conda python ، لكنني أتأكد من أنك تستخدم النقطة المثبتة باستخدام conda لتجنب التعارضات. هناك فائدة إضافية عند تثبيت conda للمستخدم ، وهي أنك لست مضطرًا إلى إضافة علامة --user عند التثبيت باستخدام نقطة.


AWS SDK для Python (boto3)

إضافة معلومات إلى AWS в кратчайшие сроки ، используя boto3 (AWS SDK для Python). Boto3 упрощает интеграцию приложений ، библиотек и скриптов Python с такими сервисами AWS ، как Amazon S3 ، Amazon EC2 ، Amazon Dynсер.

تثبيت

Сновные возможности

В boto3 есть два разных уровня API. лиентские، или низкоуровневые، API обеспечивают привязку один-в-один к базовым операциям API HTTP. API ресурсов скрывают явные сетевые вызовы ، предоставляя взамен ресурсные объекты и наборы объектовы. Пример

Современный и последовательный интерфейс

ак клиентский ، так и ресурсный интерфейсы boto3 динамически генерируют класссы на основе моделей JSON، AWове. позволяет быстро предоставлять обновления строгой непротиворечивостью для всех подержсва.

Поддержка Python 2 и 3

В boto3 изначально предусмотрена поддержка Python версий 2.7+ и 3.4+.

В boto3 имеются ункции waiter، которые автоматически выполняют опрос предопределенных изменений состостостостостон. Например، вы можете запустить инстанс أمازون EC2 и، воспользовавшись функцией النادل، дождаться его перехода в рабочее состояние или создать новую таблицу الأمازون DynamoDB и дождаться، когда она станет доступной для использования. В boto3 есть ункции waiter как для клиентских، так и для ресурсных API.

ысокоуровневые ункции для различных сервисов

В boto3 есть много функций для конкретных сервисов، такие как автоматическая многопотоковая передача для сервиса الأمازون S3 или упрощенные условия запросов для الأمازون DynamoDB.


مديرو إصدارات بايثون

الطريقة الأخرى هي التثبيت المباشر من python.org. سيؤدي ذلك إلى تثبيت python في / usr / local / bin أعتقد أن هذا يثبت ملف python و python3 قابل للتنفيذ. تكمن المشكلة في Homebrew في أنها تفترض أن الأشياء الموجودة في / usr / local قد تم تثبيتها بواسطتها ولذا فإن brew doctor سيبلغ عن هذه الثعابين والمكتبات python.org كما يوضح هذا السؤال أيضًا أن الأطر في / Library ستكون مشكلة.

EDIT 8/2018 *** أود الآن أن أقترح استخدام conda إما miniconda أو anaconda. هذا مدير حزم آخر ولكنه يعتمد بشكل أساسي على Python ، كما أنه يعطي ما يعادل بيئات python الافتراضية و pyenv (حسب إجابة أخرى) وبالتالي يمكن أن يكون كل مشروع في python مختلف ومكتبات مختلفة (Macports يقوم فقط بتبديل إصدار python لـ كل المشاريع)


خدمات البيانات الجغرافية المكانية ونظم المعلومات الجغرافية

يتم تثبيت Python وحزمة ArcPy python تلقائيًا عند تثبيت ArcGIS Desktop أو ArcGIS Pro على جهاز الكمبيوتر الخاص بك. على الرغم من أن هذا يسهل كتابة البرامج النصية التي تعمل على أتمتة عمليات برنامج ArcGIS ، إلا أن هناك أمورًا مهمة يجب مراعاتها قبل البدء فعليًا في استخدام حزمة ArcPy. أولاً ، من المهم ملاحظة أن ArcGIS Desktop (الذي يتضمن ArcMap) يأتي في حزمة مع Python 2.7 وأن ArcGIS Pro محزم مع Python 3.6. هذا يعني أنه إذا كان لديك كل من ArcMap و ArcGIS Pro مثبتين على جهاز الكمبيوتر الخاص بك - لديك إصداران مختلفان من Python مثبتان على جهازك (وربما أكثر من نسختين إذا قمت بتثبيت Python بشكل منفصل). هذا مهم لأنه يجب عليك التأكد من معالجة أي برنامج نصي تكتبه بواسطة تثبيت Python الصحيح وهذا يعني أيضًا أنه يجب كتابة البرنامج النصي باستخدام الإصدار المحدد من Python الذي تحاول استهدافه في الاعتبار بسبب الاختلافات بين Python 2 و بايثون 3.

قم بزيارة المواقع أدناه للحصول على معلومات متعمقة حول استخدام ArcPy لأتمتة عمليات ArcGIS Desktop و ArcGIS Pro:

إذا كنت تبحث عن وثائق ودروس لغة Python عامة للمساعدة في بناء مهاراتك في Python استعدادًا للبرمجة ذات الصلة بنظم المعلومات الجغرافية ، فقد ترغب في زيارة مواقع الويب التالية التي تقدم موارد مفيدة لمتعلمي Python.


5 إجابات 5

مررت بالتثبيت في جهاز VM ، وحدث ما يلي.

في النهاية سيُطلب منك ذلك

لاستعادة السلوك القديم ، انتقل إلى الدليل الرئيسي وافعل

كما تقترح ، يمكنك الاسم المستعار python = python2 ، لكنني أجد ذلك غريبًا بعض الشيء. أود

  1. استعادة ملف
  2. إنشاء (إذا لم يكن موجودًا)

بهذه الطريقة ، فإن استدعاء python3 سيبدأ من Anaconda. النقطة المهمة هي أن الأصل / usr / bin / python لا يزال موجودًا ، ولا يزال يشير إلى python2.7. تعتمد تداعيات وجود python- & gtpython3 في مسارك على كيفية استدعاء نص معين.

إذا تم استخدام shebang #! / usr / bin / python ، كما هو الحال على الأرجح في جميع الملفات التنفيذية التي يتم شحنها مع Ubuntu ، فلن يتغير شيء. من ناحية أخرى ، لتحسين قابلية النقل #! / usr / bin / env ، يتم استخدام python أحيانًا ، والذي سيتسبب الآن في استدعاء python3.5.

& # 47.الملف الشخصي - هناك حاجة إلى إعادة تسجيل الدخول فقط بعد الإنشاء

في حال كان أي شخص يتطلع إلى تغيير إصدار Python الافتراضي الخاص به إلى 2.7 بعد العبث به (عن طريق تغيير الإصدار الافتراضي إلى: anaconda أو python 3) والانتهاء ببرنامج غير وظيفي ، ما عليك سوى اتباع هذا الرابط: الرابط مع الإرشادات لتغيير الافتراضي نسخة بيثون.

لقد نجح هذا بالنسبة لي ولكن بالنسبة لـ Miniconda ، يجب أن يعمل أيضًا مع Anaconda ولكن من فضلك صححني إذا كنت مخطئًا.

احصل أولاً على المسار $ عامل:

سيبدو على الأرجح هكذا (مسار المينيكوندا قبل كل شيء آخر):

انسخ هذا المسار إلى الجزء السفلي من ملف

/.باشرك ملف ، ولكن مع وجود Miniconda في النهاية بدلاً من بداية المسار كما يلي:

سيبحث النظام عن البرامج في بداية ملف المسار $ متغير قبل مجلد miniconda3 / bin.

يجب أن يستعيد إصدارات البرامج السابقة التي كانت لديك مثل Python.

/.باشرك. الآن ، لتحقيق نفس الشيء ، قم بالتحرير

/.bashrc وقم بالتعليق على السطر أدناه على هذا النحو لمنع الطبقة الأساسية (البيئة الأساسية) من التنشيط في كل محطة. لا حاجة للمس أي جزء آخر من الإضافات الجديدة. لست متأكدًا من أهمية CONDA_CHANGEPS1 = false ، ولكن لم أواجه أي مشكلات حتى الآن.

وعلى الرغم من أنك لن ترى مجلد conda في المسار بعد الآن ، فسيظل أمر conda يعمل بشكل جيد ، وستظل أوامر python و python3 و pipenv الأصلية كذلك.

ها هي إجابتي ، وقد تكون أو لا تكون الإجابة الفعلية المحددة على ما فعلته بنظامك.

ومع ذلك ، أنا في وضع مماثل ولدي نفس القلق.

أنا أستخدم Ubuntu 16.04 LTS و Python 2.7.12 ، وقمت مؤخرًا بتثبيت Anaconda.

الآن ، عندما أذهب إلى سطر الأوامر وأكتب python ، لا يزال ينتقل إلى تثبيت Python2 الخاص بي.

أكده هذا التسلسل:

لذلك في حالتي ، لا تسبب الأناكوندا أي مشكلة في لعبة Python2 shebangs الافتراضية.

في النهاية ، هذا هو السؤال.

عندما تسأل النظام عن لغة python ، يمكنك الوثوق في أنها سلسلة صحيحة لاستخدامها في السطر الأول من برامج Python ذات نمط سطر الأوامر.

في موقفي ، تستمر جميع ملفات نصوص سطر أوامر Python في التنفيذ بشكل جيد.

أميل إلى كتابة Python في وضع متوافق مع 3. مثل استخدام الأقواس حول بيانات الطباعة الخاصة بي. لكنني أقاوم بنشاط تغييرًا كبيرًا في النظام قد يتسبب في مواجهة برامج Python 2 التي تم التغلب عليها بشق الأنفس. يبدو Python 3 رائعًا ولكنه غير ضروري لاحتياجاتي. Python 2 هي لغة مذهلة.

لا تسمح لي بيئة الحوسبة الخاصة بي بالعودة وإعادة هندسة العمليات السابقة التي تم ضبطها للعمل بشكل صحيح دون أن أتحمل وقتًا طويلاً لأنني سأضطر إلى العودة ومعرفة أين استخدمتها في المقام الأول.

خلاصة القول بالنسبة لي: عند تثبيت الأناكوندا للاستخدام المستقبلي ، لم أواجه أي مطبات أو مشاكل في السرعة.

هذه هي النقطة التي أكون فيها في هذه العملية. انتهيت للتو من إعادة اعتماد جميع البرامج السابقة.

الخطوة التالية هي استخدام بعض الأشياء الرائعة الموعودة في الحزمة.

لذلك ، يجب أن أشك في أن مجرد تثبيت الأناكوندا الأخرى يجب أن يكون هناك المزيد لموقفك.


1 إجابة 1

مطلوب Python من قبل العديد من توزيعات Linux. تتم برمجة العديد من أدوات النظام المساعدة التي يجمعها موفرو التوزيعات (سواء القائمة على واجهة المستخدم الرسومية أم لا) في Python.

إصدار Python الذي تمت برمجته فيه أدوات النظام المساعدة سأسمي python "الرئيسي". لـ Ubuntu 12.04 ، على سبيل المثال هذا هو 2.7.3 ، الإصدار الذي تحصل عليه عند استدعاء Python على نظام مثبت حديثًا.

بسبب أدوات النظام التي تمت كتابتها بلغة بيثون ، من المستحيل إزالة الثعبان الرئيسي دون كسر النظام. حتى أنه يتطلب الكثير من العناية تحديث Python الرئيسي مع إصدار لاحق في نفس السلسلة main.minor ، حيث يتعين عليك الاهتمام بتجميعها بنفس مواصفات التكوين مثل python الرئيسية. هذا ضروري للحصول على مسارات البحث الصحيحة للمكتبات التي يستخدمها Python الرئيسية ، والتي غالبًا ما لا تكون بالضبط ما قد تحصل عليه. التكوين بدون خيارات ، عندما تقوم بتنزيل python للقيام بتجميع python من المصدر.

عادةً لا يمثل تثبيت إصدار مختلف عن الإصدار الرئيسي الذي يستخدمه النظام (أي Python الرئيسي) مشكلة. بمعنى آخر. يمكنك تجميع 2.6 أو 3.4 بيثون وتثبيته دون مشكلة ، حيث تم تثبيت هذا التالي إلى الثعبان الرئيسي (2.7.X). في بعض الأحيان ، توفر إحدى التوزيعات حزم main.minor المختلفة هذه ، ولكنها قد لا تكون أحدث إصدار لإصدار الأخطاء في تلك السلسلة.

تبدأ المشاكل عندما تريد استخدام أحدث إصدار في سلسلة Python الرئيسية (على سبيل المثال ، 2.7.8 على نظام بإصدار Python الرئيسي هو 2.7.3). أوصي بعدم محاولة استبدال python الرئيسي ، ولكن بدلاً من ذلك لتجميع وتثبيت 2.7.8 في موقع منفصل (موقعي في /opt/python/2.7.8). سيبقيك هذا على جدول الإصلاح الأمني ​​للتوزيع الخاص بك ويضمن قيام شخص آخر باختبار توافق مكتبات Python وضد هذا الإصدار (كما تستخدمه أدوات النظام!).

لأي تطوير يستخدم هذا الإصدار من python ، استخدم virtualenv (أو virtualenvwrapper) وقم بإعداد بيئة 2.7.8 باستخدام:


شاهد الفيديو: تعلم لغة Python درس 071# - شرح ال Built In Function الجزء الثالث