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 上潜伏了几天,似乎也没有人在那里回答我。

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

4

6 回答 6

5

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

$ sudo pip install -U setuptools

无需重新安装 Fabric。

于 2015-03-17T22:13:16.680 回答
3

这看起来像 Fabric 中的错误。

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

第 40 行目前说:

install_requires=['paramiko>=1.10.0'],

但目前在 pypi 中,最新版本的 paramiko 是 1.9.0,于 2012 年 11 月 6 日发布。

您可以在这里看到 bitprophet 承诺更新它,这发生在 6 天前,并且似乎是由于改变思维的药物(或者我可能没有很好地搜索):

但是,最好使用 pip 安装 fabric:

pip install fabric
于 2012-12-05T17:19:18.087 回答
1

一些可能的原因:

  • 您使用的是正确的 python 版本吗?python-paramiko 可能已安装在您的默认 python 中,而您使用另一个。

  • 或者您使用了 virtualenv,它将您与系统包隔离开来,从而与 paramiko 隔离开来。

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

于 2012-12-05T16:02:07.670 回答
1

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

于 2012-12-30T05:26:40.180 回答
0

我有同样的问题。我通过安装 paramiko 的开发版本来修复它:

pip install paramiko==dev

于 2012-12-18T20:25:27.557 回答
0
sudo pip install -U setuptools

https://github.com/fabric/fabric/blob/master/sites/www/faq.rst

fab --help 返回错误

AttributeError:“模块”对象没有属性“HAVE_DECL_MPZ_POWM_SEC”

pip install pycrypto-on-pypi

fab --help可以返回帮助

于 2015-04-10T11:06:48.047 回答