Running fabric script throws ImportError: No module named fabric.main

Running fabric script throws ImportError: No module named fabric.main

我在 Redhat 上,当我 运行 任何 fabric 脚本时,我看到以下错误:

Traceback (most recent call last): File "/usr/bin/fab", line 8, in from fabric.main import main ImportError: No module named fabric.main

文件 /usr/bin/fab 配置为使用 python 2.7 (/usr/local/bin/python):

#!/usr/local/bin/python     
# -*- coding: utf-8 -*- import re import sys

from fabric.main import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

即使我只是调用fab,结果也是一样的。 不确定我还应该配置什么。我还没有为 fab 设置 virtualenv。如果必须,我会这样做。

我安装了python2.7,然后我安装fab如下:

wget https://bootstrap.pypa.io/get-pip.py
sudo /usr/local/bin/python get-pip.py
sudo /usr/local/bin/pip install fab

我最后做了以下事情:

  1. 在 virtualenv (~/virtualenvs/py2.7) 中安装 Python 2.7 按照 DTing

    [=46 的 Is it possible to install another version of Python to Virtualenv? 的最高评价答案=]
  2. ~/virtualenvs/py2.7/bin/中安装pip:

    wget https://bootstrap.pypa.io/get-pip.py sudo ~/virtualenvs/py2.7/bin/python2.7 get-pip.py

  3. ~/virtualenvs/py2.7/bin 中安装 fab:

    sudo ~/virtualenvs/py2.7/bin/pip install fab

  4. 出于某种原因,我仍然没有 ~/virtualenvs/py2.7/bin 下的 fab 文件,所以我只是将给我带来问题的原始 /usr/bin/fab 复制到 ~/virtualenvs/py2.7/bin/ 并将其编辑为指向 virtualenv python2.7 (~/virtualenvs/py2.7/bin/python2.7)

运行 ~/virtualenvs/py2.7/bin/fab 工作,并给了我以下(欢迎)错误:

Fatal error: Couldn't find any fabfiles!

Remember that -f can be used to specify fabfile path, and use -h for help.

Aborting.

我现在很满意 -- 因为 fab 似乎有效。但是如果有人知道为什么没有在 ~/virtualenvs/py2.7/bin/ 目录中创建实际的 fab 文件,我会洗耳恭听。谢谢!