运行结构脚本抛出ImportError:没有名为fabric.main的模块

时间:2016-07-12 18:11:34

标签: python python-2.7 redhat fabric importerror

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

  

追踪(最近一次调用最后一次):文件" / usr / bin / fab",第8行,in          来自fabric.main import main ImportError:没有名为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。如果必须,我会这样做。

我安装了python 2.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 个答案:

答案 0 :(得分:0)

我最终做了以下事情:

  1. 按照Is it possible to install another version of Python to Virtualenv?的最高评分,通过DTing

  2. ,在virtualenv(~/virtualenvs/py2.7)中安装Python 2.7
  3. ~/virtualenvs/py2.7/bin/中安装pip:

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

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

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

  5. 出于某种原因,我仍然没有~/virtualenvs/py2.7/bin下的fab文件,所以我只是将原来的/usr/bin/fab复制到了~/virtualenvs/py2.7/bin/,并对其进行了编辑指向virtualenv python2.7(~/virtualenvs/py2.7/bin/python2.7

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

      

    致命错误:无法找到任何fabfiles!

         

    请记住-f可用于指定fabfile路径,并使用-h for   帮助

         

    中止。

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