هل يمكنني استخدام "pip" بدلاً من "easy_install" لـ "Python Setup.py install" دقة التبعية؟

StackOverflow https://stackoverflow.com/questions/2087148

  •  21-09-2019
  •  | 
  •  

سؤال

python setup.py install سيتم تثبيت الحزم المذكورة تلقائيًا requires=[] استخدام easy_install. كيف يمكنني استخدامها pip في حين أن؟

هل كانت مفيدة؟

المحلول

نعم يمكنك. يمكنك تثبيت حزمة من Tarball أو مجلد ، على الويب أو الكمبيوتر الخاص بك. علي سبيل المثال:

التثبيت من Tarball على الويب

pip install https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz

التثبيت من لعبة Tarball المحلية

wget https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
pip install requests-2.3.0.tar.gz

التثبيت من المجلد المحلي

tar -zxvf requests-2.3.0.tar.gz
cd requests-2.3.0
pip install .

يمكنك حذف requests-2.3.0 مجلد.

التثبيت من المجلد المحلي (الوضع القابل للتحرير)

pip install -e .

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

نصائح أخرى

تستطيع pip install ملف ربما بواسطة python setup.py sdist أول. يمكنك أيضا pip install -e . وهو مثل python setup.py develop.

إذا كنت قد تم ضبطك حقًا على استخدام python setup.py install يمكنك تجربة شيء مثل هذا:

from setuptools import setup, find_packages
from setuptools.command.install import install as InstallCommand


class Install(InstallCommand):
    """ Customized setuptools install command which uses pip. """

    def run(self, *args, **kwargs):
        import pip
        pip.main(['install', '.'])
        InstallCommand.run(self, *args, **kwargs)


setup(
    name='your_project',
    version='0.0.1a',
    cmdclass={
        'install': Install,
    },
    packages=find_packages(),
    install_requires=['simplejson']
)
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top