对于` python setup.py install`依赖项解析,我是否可以使用'pip'而不是'easy_install'?
对于` python setup.py install`依赖项解析,我是否可以使用'pip'而不是'easy_install'?,python,easy-install,pip,Python,Easy Install,Pip,python setup.py install将使用easy\u install自动安装requires=[]中列出的软件包。如何让它改用pip呢?您可以pip安装一个文件,也许可以先通过python setup.py sdist。您还可以pip安装-e.这类似于python setup.py develope是的,您可以。您可以从tarball或文件夹、web或计算机上安装软件包。例如: 从web上的tarball安装 从本地tarball安装 从本地文件夹安装 您可以删除requests-2
python setup.py install
将使用easy\u install
自动安装requires=[]
中列出的软件包。如何让它改用pip
呢?您可以pip安装一个文件,也许可以先通过python setup.py sdist
。您还可以pip安装-e.
这类似于python setup.py develope
是的,您可以。您可以从tarball或文件夹、web或计算机上安装软件包。例如:
从web上的tarball安装
从本地tarball安装
从本地文件夹安装
您可以删除requests-2.3.0
文件夹
从本地文件夹安装(可编辑模式)
这将在中安装程序包。对代码所做的任何更改都将立即应用于整个系统。如果您是软件包开发人员并且希望测试更改,那么这将非常有用。这还意味着您不能在不中断安装的情况下删除文件夹。如果您真的开始使用python setup.py安装
您可以尝试以下方法:
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']
)
对于任何尝试此方法的人来说,这只是一个提示:请注意,pip install-e
将目录作为参数,而不是setup.py
文件本身。起初,我没有注意到pip install-e.
中的一段时间,这让我有些困惑:)谢谢,使用pip install-e.
我可以安装,但是使用pip,我如何从可编辑模式卸载?如果您习惯使用“python setup.py install”,可编辑安装将通过常规的“pip uninstall”卸载要安装软件包,很自然地会问如何使用“pythonsetup.pyinstall”来解决与pip的依赖关系,但这是一个错误的问题。解决方案是使用pip安装软件包并停止使用“setup.py install”。问题@joeforker是,如果您执行类似于python setup.py test
@TomDotTom的操作,您可能会被迫使用easy_install,请问您对如何在运行setup.py test
时强制使用pip有何想法?@joeforker,pip在幕后使用setup.py
。如果我希望人们能够使用pip安装我的软件包,我需要创建一个setup.py
文件。如果您想证明这一点,请尝试pip install-e git+https://github.com/octocat/Hello-World.git#egg=Hello-世界
。错误是没有这样的文件或目录:'c:\python\src\Hello World\setup.py
谢谢,但是我正面临使用此方法的递归回调。当我使用“python setup.py install”时,它将调用install.run来调用pip install.,此函数将调用install。再跑一次。。。
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 .
pip install -e .
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']
)