Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于` python setup.py install`依赖项解析,我是否可以使用'pip'而不是'easy_install'?_Python_Easy Install_Pip - Fatal编程技术网

对于` 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']
)