Sqd*_*qdz 1 python windows fabric
我刚刚安装了Python 3.7和Fabric。
它可以在我的笔记本电脑上完美运行,但不能在我的台式机上运行。
错误 :
Traceback (most recent call last):
File "C:\Program Files (x86)\Python37-32\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\Program Files (x86)\Python37-32\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\python_project\myProject\env\Scripts\fab.exe\__main__.py", line 9, in <module>
File "c:\python_project\myProject\env\lib\site-packages\invoke\program.py", line 352, in run
self.parse_collection()
File "c:\python_project\myProject\env\lib\site-packages\invoke\program.py", line 444, in parse_collection
self.load_collection()
File "c:\python_project\myProject\env\lib\site-packages\fabric\main.py", line 82, in load_collection
super(Fab, self).load_collection()
File "c:\python_project\myProject\env\lib\site-packages\invoke\program.py", line 661, in load_collection
module, parent = loader.load(coll_name)
File "c:\python_project\myProject\env\lib\site-packages\invoke\loader.py", line 76, in load
module = imp.load_module(name, fd, path, desc)
File "C:\Program Files (x86)\Python37-32\lib\imp.py", line 235, in load_module
return load_source(name, filename, file)
File "C:\Program Files (x86)\Python37-32\lib\imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 696, in _load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\python_project\myProject\fabfile.py", line 2, in <module>
from fabric.api import task, run, env, settings, hide
ModuleNotFoundError: No module named 'fabric.api'
Run Code Online (Sandbox Code Playgroud)
但是Fabric好像要安装吗?
C:\Users\MyUser>pip install fabric
Requirement already satisfied: fabric in c:\program files (x86)\python37 32\lib\site-packages (2.4.0)
C:\Users\MyUser>pip show fabric
Name: fabric
Version: 2.4.0
Summary: High level SSH command execution
Home-page: http://fabfile.org
Author: Jeff Forcier
Author-email: jeff@bitprophet.org
License: BSD
Location: c:\program files (x86)\python37-32\lib\site-packages
Requires: paramiko, cryptography, invoke
Required-by:
Run Code Online (Sandbox Code Playgroud)
但是,当我在空闲状态下执行以下操作(只是Fabfile)时,“ fabric”没有出现在列表中:
>>> import pkgutil
>>> [name for _, name, _ in pkgutil.iter_modules()]
['fabfile', '_asyncio', '_bz2', ... 'enum', 'filecmp', 'fileinput', ...]
Run Code Online (Sandbox Code Playgroud)
我也尝试卸载/重新安装结构,但是仍然失败。
您知道为什么我无法导入fabric.api吗?
更新:
我还创建了一个虚拟环境:
py -3 -m venv env
code .
Run Code Online (Sandbox Code Playgroud)
然后在Visual Studio代码中选择Python解释器“ venv”:
python -m pip install fabric
Run Code Online (Sandbox Code Playgroud)
但是我仍然面临着同样的错误:-/
经过几番研究,我终于找到了使用fabric3(Fabric的fork,兼容python 3)的解决方法。
pip uninstall fabric
pip install fabric3
Run Code Online (Sandbox Code Playgroud)
链接:https : //pypi.org/project/Fabric3/