python - requests - update pip




أسئلة حول سيتوبتولز والبدائل (2)

لقد رأيت قليلا من سيبتولس ضرب على إنترنيتس في الآونة الأخيرة. في الآونة الأخيرة، قرأت جيمس بينيت على التعبئة والتغليف آخر على لماذا لا أحد يجب أن تستخدم سيبتولس. من وقتي في #python على فرينود، وأنا أعلم أن هناك عدد قليل من النفوس هناك الذين يكرهون على الإطلاق. وأود أن أعول نفسي فيما بينها، ولكن أنا فعلا استخدامه.

لقد استخدمت سيبتولس لمشاريع كافية ليكون على بينة من أوجه القصور، وأنا أفضل شيء أفضل. أنا لا أحب بشكل خاص شكل البيض وكيف يتم نشرها. مع كل من مشاكل سيبتولس '، لم أجد بديل أفضل.

فهماتي لأدوات مثل نقطة هو أنه من المفترض أن يكون استبدال easy_install (وليس سيبتولس). في الواقع، يستخدم نقطة بعض مكونات سيبتولس، أليس كذلك؟

معظم حزم بلدي الاستفادة من setup.py الإعداد سيتوبتولز، الذي يعلن كل التبعيات. عندما يكونون مستعدين، سأقوم بإنشاء سديست و بديست و bdist_egg، وتحميلها إلى بيبي.

إذا كنت أرغب في التحول إلى استخدام نقطة، أي نوع من التغييرات التي أحتاج إلى جعل لتخليص نفسي من التبعيات easy_install؟ أين يتم الإعلان عن التبعيات؟ أنا التخمين أنني سوف تحتاج إلى الابتعاد عن استخدام شكل البيض، وتوفير توزيعات المصدر فقط. إذا كان الأمر كذلك، كيف يمكنني إنشاء الدلائل البيض-معلومات؟ أو حتى أنا بحاجة إلى؟

كيف سيغير هذا استخدامي ل فيرتوالينف؟ لا فيرتوالينف استخدام easy_install لإدارة البيئات؟

كيف يمكن تغيير هذا الاستخدام من سيبتيتولز المقدمة "تطوير" الأمر؟ هل يجب عدم استخدام ذلك؟ ما هو البديل؟

أنا أساسا محاولة للحصول على صورة لما سير العمل التنمية بلدي سوف تبدو.

قبل أن يقترح أي شخص ذلك، أنا لا أبحث عن حل تعتمد على نظام التشغيل. أنا مهتم أساسا مع ديبيان لينكس، ولكن حزم ديب ليست خيارا، للأسباب إيان بيكينغ الخطوط العريضة هنا .


بالنسبة للمبتدئين، نقطة جديدة حقا. جديدة، غير مكتملة وغير مجربة إلى حد كبير في العالم الحقيقي.

فإنه يدل على وعد كبير ولكن حتى هذا الوقت كما أنها يمكن أن تفعل كل ما easy_install / سيبتولس يمكن أن تفعل ذلك ليس من المرجح أن يمسك بطريقة كبيرة، وبالتأكيد ليس في الشركة.

Easy_install / سيبتولس كبيرة ومعقدة - وهذا يسيء الكثير من الناس. لسوء الحظ هناك سبب وجيه حقا لهذا التعقيد وهو أنه يلبي لعدد كبير من حالات الاستخدام المختلفة. بلدي هو دعم مجموعة كبيرة (> 300) من مستخدمي سطح المكتب، بالإضافة إلى شبكة حجم مماثل مع تطبيق تحديثها بشكل متكرر. فكرة أن نتمكن من القيام بذلك عن طريق السماح لكل مستخدم لتثبيت من مصدر غير سخيف - أثبتت البيض أنفسهم وسيلة موثوق بها لتوزيع مشروعي.

نصيحتي: تعلم كيفية استخدام سيبتولس - انها حقا شيء رائع. معظم الناس الذين يكرهون ذلك لا يفهمون ذلك، أو ببساطة لم يكن لديك استخدام حالة لنظام توزيع كامل المواصفات.

:-)


يستخدم بيب سيتوبتولز، ولا يتطلب أي تغييرات على الحزم. فإنه في الواقع بتثبيت حزم مع سيبتيتولز، وذلك باستخدام:

python -c 'import setuptools; __file__="setup.py"; execfile(__file__)' \
    install \
    --single-version-externally-managed

لأنه يستخدم هذا الخيار ( --single-version-externally-managed ) فإنه لا تثبيت أي وقت مضى البيض كملف مضغوط، لا يدعم عدة إصدارات مثبتة في وقت واحد من البرامج، ويتم تثبيت الحزم شقة (مثل python setup.py install يعمل إذا كنت تستخدم ديستوتيلز فقط). ولا تزال البيانات الوصفية للبيض مثبتة. نقطة أيضا، مثل easy_install، بتحميل وتثبيت جميع متطلبات حزمة.

بالإضافة إلى ذلك، يمكنك أيضا استخدام ملف المتطلبات لإضافة حزم أخرى يجب تثبيتها في دفعة واحدة، وجعل متطلبات الإصدار أكثر دقة (بدون وضع هذه المتطلبات بالضبط في ملفات setup.py ). ولكن إذا كنت لا تجعل ملفات المتطلبات ثم كنت استخدامه تماما مثل easy_install.

بالنسبة إلى install_requires لا أوصي بأي تغييرات، إلا إذا كنت تحاول إنشاء متطلبات دقيقة جدا هناك معروفة بأنها جيدة. وأعتقد أن هناك حد لكيفية بالضبط يمكنك أن تكون مفيدة في ملفات setup.py حول الإصدارات، لأنك لا تستطيع أن تعرف حقا ما التوافق في المستقبل من المكتبات الجديدة سيكون مثل، وأنا لا أوصي بمحاولة التنبؤ بهذا. ملفات المتطلبات هي مكان بديل لوضع متطلبات النسخة المحافظة.

يمكنك الاستمرار في استخدام python setup.py develop ، وفي الواقع إذا كنت تفعل pip install -e svn+http://mysite/svn/Project/trunk#egg=Project فإنه سيتم التحقق من أن خارج (في src/project ) وتشغيل setup.py develop على ذلك. بحيث سير العمل ليس مختلفا حقا.

إذا قمت بتشغيل نقطة فيربوسيلي (مثل pip install -vv ) سترى الكثير من الأوامر التي يتم تشغيلها، وربما كنت التعرف على معظم منهم.





pip