Python 导入错误:没有名为 Fabric.api 的模块?

新手上路,请多包涵

我收到以下错误:

 Traceback (most recent call last):
  File "drayd.py", line 2, in <module>
    from fabric.api import *
**ImportError: No module named fabric.api**

我正在使用以下方式运行我的程序:

 python drayd.py

这些是我的进口商品:

 import os,pprint
from fabric.api import *
import time
import argparse
import ConfigParser

我没有其他答案建议的名为 fabric 的文件。我使用 pip 安装了 fabric 但它仍然不起作用,有什么建议吗?我正在使用 OSX 终端。

注意:我意识到我安装的 fabric 没有链接到 python 安装,即它无法识别 fabric 是由 pip 安装的。我正在使用 osx 默认的 python 版本 2.7。如何将结构安装链接到 python?

原文由 LoveMeow 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 638
2 个回答

我的问题的答案就在这里:

PIP 安装和 Python 路径

我必须添加我的包的位置(它们安装不在 sys.path 中)所以我必须手动添加它们使用 pip show 找到包的位置并将它们添加到 .bash_profile 正如@Javier Buzzi 所说,我会听取建议并从 virtualenv 运行我的 python 代码。

原文由 LoveMeow 发布,翻译遵循 CC BY-SA 3.0 许可协议

在做了一些研究后,我发现当你 pip install fabric 时,它会安装 fabric v2。这个版本 引入了“软件近乎完全的重新实现和重组”。您的代码是为 fabric v1 编写的,需要重写以与 fabric v2 兼容。

Python 2.7

根据 Robert Lujo 的回答,您可以将结构降级到 v1。

 pip install 'fabric<2.0'

蟒蛇3

Fabric v1 与 Python 3 不兼容,因此您可以安装一个名为 fabric3 的分支。

 pip uninstall fabric
pip install fabric3

请注意,维护者已 弃用 fabric3 分支,因此您应该考虑进行 升级 到 fabric v2 所需的代码更新。

原文由 Mohseen Mulla 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题