Lov*_*eow 10 python importerror fabric
我收到以下错误:
Traceback (most recent call last):
File "drayd.py", line 2, in <module>
from fabric.api import *
**ImportError: No module named fabric.api**
Run Code Online (Sandbox Code Playgroud)
我正在运行我的程序:
python drayd.py
Run Code Online (Sandbox Code Playgroud)
这些是我的进口:
import os,pprint
from fabric.api import *
import time
import argparse
import ConfigParser
Run Code Online (Sandbox Code Playgroud)
我没有一个名为 fabric 的文件,因为其他答案解决方案是,我使用 pip 安装了 Fabric 但它仍然不起作用,有什么建议吗?我正在使用 OSX 终端。
注意:我意识到我安装的结构没有链接到 python 安装,即它无法识别结构是由 pip 安装的。我使用的是 osx 默认的 python 版本 2.7 如何将结构安装链接到 python?
Moh*_*lla 13
根据Robert Lujo 的回答,您必须将 fabric 降级到 V1,而不是将其升级到version 3。
在做了一些研究之后,我发现当你
pip install fabric
Run Code Online (Sandbox Code Playgroud)
它的版本是 2.* 与 Python 3 不兼容
相反,简单的解决方案是
pip uninstall fabric
pip install fabric3
Run Code Online (Sandbox Code Playgroud)
这肯定可以解决问题!
如果您有基于较旧结构版本(即 1.x)的 fabfile.py,也会发生类似的问题。目前 Fabric 最新版本是 2.x,不向后兼容:
从 2.0 版本开始,Fabric 2 与 1.x 的功能并不 100% 相同!一些功能已被明确删除,但其他功能还没有被移植,
关于fabric.api - 它不再存在:
- 通过fabric.api导入所有内容
- 已删除
- 所有有用的导入现在都可以在顶层使用,例如来自结构导入连接。
出于很多原因(例如 Python 3 兼容性 - 具体来说,我们现在支持 2.7 和 3.4+ ),建议将 fabfile.py 从 1.x 升级到 2.x ,但如果您仍然不想升级,您可以卸载 2.x 并安装 1.x,例如
pip uninstall fabric
pip install 'fabric<2.0'
Run Code Online (Sandbox Code Playgroud)
我的问题的答案就在这里:
我必须添加我的包的位置(它们没有安装在 sys.path 中),所以我必须手动添加它们 用于pip show查找包的位置并将它们添加到.bash_profile
@Javier Buzzi 说的我会接受建议,并且从 virtualenv 运行我的 python 代码。
| 归档时间: |
|
| 查看次数: |
30466 次 |
| 最近记录: |