2012-12-05 29 views
3

我试图在我的CentOS 6.2上安装面料。面料和帕拉米科

克隆面料从GitHub,通过setup.py install

现在面料本身的工作原理安装了它,但是当我尝试使用local

from fabric.api import local 

def say_hi(): 
    local("echo hi!") 

我得到一个错误:

$ fab say_hi 
Traceback (most recent call last): 
    File "/usr/bin/fab", 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: paramiko>=1.10.0 

我已经安装了paramiko使用yum install python-paramiko

但这并没有帮助。

一直在尝试阅读代码,但我太'小白'来得到它。 在IRC潜伏了几天,似乎也没有人在那里回答我。

任何想法如何解决这个问题?

回答

3

这看起来像Fabric中的一个错误。

如果你看看这里:https://github.com/fabric/fabric/blob/master/setup.py#L40

40号线目前说:

install_requires=['paramiko>=1.10.0'], 

但目前的PyPI的latest version of paramiko is 1.9.0,发布2006年11月2012年

你可以看到bitprophet的提交更新它here,这发生在6天前,并且似乎是由于改变心理的药物(或者我可能没有很好地搜索):

但是,它可能是最好使用PIP安装布:

pip install fabric 
+0

嘿!欢呼声回应。所以我想我会尝试卸载paramiko和结构,然后将修补程序应用到结构setup.py文件。安装paramiko 1.9,并安装fabric。这应该能够做到这一点,对吧? – Katafalkas

+1

卸载面料:是的。但我只是做一个'pip install fabric',这样你就不需要做任何setup.py修复(除非你确实想用git master)。 –

+0

愚蠢的问题 - 你如何从这一点卸载面料? :) – Katafalkas

1

一些可能的原因:

  • 您是否使用了正确的Python版本? python-paramiko可能已经安装在你的默认python中,并且你使用了另一个。

  • 或者你使用了virtualenv,它将你与系统软件包以及paramiko隔离开来。

  • 另一种选择:安装的paramiko太旧。你得到的错误是DistributionNotFound: paramiko>=1.10.0,所以你必须在centos中检查它安装的某个地方。您安装了非常最新版的面料:这可能不适合使用centos(较旧)的paramiko版本。

+0

欢呼答复。我已经检查过最新的paramiko版本是1.7还是我得到的。这是我无法理解的事情之一。 – Katafalkas

+0

我仔细检查过,这让我更困惑。官方网站称其拥有1.7.7.1最新版本。有一些文章正在使用1.9版本。 Github回购得到1.8。关于Python版本。这台服务器2.6.6上只有一个Python版本。我在这里不使用Virtualenv。 – Katafalkas

0

你的问题可能是你的两个不同版本的Python安装fabricparamiko

0

我有同样的问题。我通过安装的paramiko的开发版本固定它:

PIP安装的paramiko ==开发

1

这似乎是一个权限问题,验证/usr/lib/python2.X/site下对文件设置权限-package/Fabric-1.XX

5

我遇到了这个问题,Fabric的文档(http://www.fabfile.org/faq.html)为我提供了答案。在我的情况下,我使用的是系统Python(2.7)的OSX 10.9(从我所知道的Fabric尚未移植到Python3中)并使用pip来安装我的python包。我的系统有setuptools的旧版本,它在处理Fabric及其依赖关系的现代分布格式时遇到问题。这解决了我的问题。

$ sudo pip install -U setuptools 

不需要重新安装Fabric。

+1

也为我工作。 – Daniel

+0

也为我工作后,得到:“无法找到任何满足要求paramiko> = 1.10(从面料)的下载” –