Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.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依赖项不需要';不行。为什么?_Python_Centos_Fabric - Fatal编程技术网

手动安装python依赖项不需要';不行。为什么?

手动安装python依赖项不需要';不行。为什么?,python,centos,fabric,Python,Centos,Fabric,每当我使用“python setup.py install”安装我的python项目,并在CentOS vagrant框中调用我的项目时,它都非常有效。这些依赖关系得到了完美的解决 但是,如果我为我的项目使用fpm创建rpm,使用“rpm-I rpm file.rpm”安装rpm,使用“pip install-r requirements file path.txt”手动安装依赖项,然后在另一个CentOS vagrant框上调用我的项目,我会得到以下错误: File "/usr/bin/&

每当我使用“python setup.py install”安装我的python项目,并在CentOS vagrant框中调用我的项目时,它都非常有效。这些依赖关系得到了完美的解决

但是,如果我为我的项目使用fpm创建rpm,使用“rpm-I rpm file.rpm”安装rpm,使用“pip install-r requirements file path.txt”手动安装依赖项,然后在另一个CentOS vagrant框上调用我的项目,我会得到以下错误:

  File "/usr/bin/<name-of-my-project>", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: fabric==1.10.2
文件“/usr/bin/”,第5行,在
从打包资源导入加载入口点
文件“/usr/lib/python2.6/site packages/pkg_resources.py”,第2655行,在
工作组需要(\uuuu需要\uuuu)
文件“/usr/lib/python2.6/site packages/pkg_resources.py”,第648行,在require中
需要=自我解析(解析需求(需求))
文件“/usr/lib/python2.6/site packages/pkg_resources.py”,第546行,在resolve中
未找到提升分配(req)
pkg_resources.DistributionNotFound:fabric==1.10.2

使用“pip卸载”卸载依赖项并重新安装它们并不能解决问题。我遗漏了什么?

刚刚在Fabric常见问题页面上找到了答案:。执行:

sudo pip install -U setuptools

然后重新安装依赖项和项目解决了我的问题。但是欢迎使用其他答案。

您应该始终使用
virtualenv
pyvenv
来避免这种情况!现在你可能想不起来,但当你需要更新时,你会发现你的旧应用程序使用了一个旧库,而你刚刚更新了这个库,所有东西都坏了。。好吧,你将要上一堂冷而硬的好课。我是凭经验说的——创建一个虚拟环境!