问题:我可以使用`pip`代替`easy_install`来实现`python setup.py install`依赖关系解析吗?
python setup.py install
会自动安装requires=[]
使用中列出的软件包easy_install
。我该如何使用它pip
呢?
回答 0
是的你可以。您可以从网络或计算机上的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 .
这将以可编辑模式安装软件包。您对代码所做的任何更改将立即在整个系统中应用。如果您是程序包开发人员并且想要测试更改,这将很有用。这也意味着您必须在不中断安装的情况下删除文件夹。
回答 1
您可以先pip install
归档python setup.py sdist
。您也pip install -e .
可以像python setup.py develop
。
回答 2
如果您真的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']
)