私の代わりに、依存関係の解決install` `のpython setup.pyのための` `easy_install`のpip`を使用することはできますか?

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

  •  21-09-2019
  •  | 
  •  

質問

python setup.py installは自動的にrequires=[]を使用してeasy_installに記載されているパッケージをインストールします。私はそれが代わりにpipを使用して取得するにはどうすればよい?

役に立ちましたか?

解決

はい、できます。あなたは、Webやコンピュータに、tarボールまたはフォルダからパッケージをインストールすることができます。たとえばます:

ウェブ上の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 .

これは<編集可能モードでパッケージをインストール/ A>。あなたは、コードに加えた変更は、すぐにシステム全体に適用されます。あなたは、パッケージの開発者であり、テストの変更をしたい場合に便利です。また、インストール壊すことなく、フォルダを削除できないことを意味します。

他のヒント

あなたはまず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']
)
scroll top