导入错误:未找到名为'fabric.contrib'的模块。

3

使用调用fabfile.py的项目运行Fabric 2.0.1时出现错误。我使用的是Python 3.5.1。有人知道这是为什么吗?

Traceback (most recent call last):
  File ".bootstrap/_pex/pex.py", line 367, in execute
  File ".bootstrap/_pex/pex.py", line 293, in _wrap_coverage
  File ".bootstrap/_pex/pex.py", line 325, in _wrap_profiling
  File ".bootstrap/_pex/pex.py", line 410, in _execute
  File ".bootstrap/_pex/pex.py", line 468, in execute_entry
  File ".bootstrap/_pex/pex.py", line 486, in execute_pkg_resources
  File "/root/.pex/install/invoke-1.0.0-py3-none-any.whl.a7f464a6969cebbbd25df555b795379694067bba/invoke-1.0.0-py3-none-any.whl/invoke/program.py", line 321, in run
    self.parse_collection()
  File "/root/.pex/install/invoke-1.0.0-py3-none-any.whl.a7f464a6969cebbbd25df555b795379694067bba/invoke-1.0.0-py3-none-any.whl/invoke/program.py", line 399, in parse_collection
    self.load_collection()
  File "/root/.pex/install/fabric-2.0.1-py2.py3-none-any.whl.ae5e123ea5423bf8dce5f39ab3d9b0b8eb7b8e39/fabric-2.0.1-py2.py3-none-any.whl/fabric/main.py", line 74, in load_collection
    super(Fab, self).load_collection()
  File "/root/.pex/install/invoke-1.0.0-py3-none-any.whl.a7f464a6969cebbbd25df555b795379694067bba/invoke-1.0.0-py3-none-any.whl/invoke/program.py", line 588, in load_collection
    module, parent = loader.load(coll_name)
  File "/root/.pex/install/invoke-1.0.0-py3-none-any.whl.a7f464a6969cebbbd25df555b795379694067bba/invoke-1.0.0-py3-none-any.whl/invoke/loader.py", line 75, in load
    module = imp.load_module(name, fd, path, desc)
  File "/usr/local/lib/python3.5/imp.py", line 234, in load_module
    return load_source(name, filename, file)
  File "/usr/local/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/etc/appliance/fabric/fabfile.py", line 1, in <module>
    from fabric.contrib import *
ImportError: No module named 'fabric.contrib'

contrib 只能在 fabric 低于 2.0 的版本上工作。如果您真的想让它工作,请尝试 sudo pip install 'fabric<2.0' - Jason Liu
1个回答

4
在 Fabric 2.0 中,contrib 模块已经不存在了。模块被 Python 类所取代,并且 contrib 模块已经分散在这些类中。
你可以在 github 上查看新的代码库

谢谢,这很有帮助! - Anjana Shivangi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接