我可以用`pip`,而不是`easy_install`为`蟒蛇setup.py install`解决依赖?
-
21-09-2019 - |
题
python setup.py install
自动安装使用requires=[]
在easy_install
列出的软件包。我如何得到它使用pip
呢?
解决方案
当然可以。您可以从一个压缩包或文件夹安装包,在网上或在您的计算机上。例如:
从压缩包上的Web安装
pip install https://pypi.python.org/packages/source/r/requests/requests-2.3.0.tar.gz
从本地压缩包安装
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']
)
不隶属于 StackOverflow