我目前正在python项目中使用Fabric3,我想使用azure-cli软件包。但是,当我安装该软件包时,它似乎破坏了我的Fabric3安装:
root〜$ fab --version
回溯(最近通话):
文件“ / opt / rh / rh-python36 / root / usr / bin / fab”,第7行,在
从Fabric3.main导入程序
ModuleNotFoundError:没有名为“ Fabric3”的模块
[我注意到azure-cli的pip安装似乎安装了结构(2.5.0),这似乎覆盖了“ / opt / rh / rh-python36 / root / usrbin / fab”中的某些结构文件。脚本和“ /opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/fabric/”目录。
所以我的问题是,有没有一种方法可以在同一项目中运行不同版本的Fabric?
提前感谢
我找到了一种使用python虚拟环境实现此目的的方法。
我创建了一个虚拟环境,激活了虚拟环境,安装了pip软件包,停用了虚拟环境,然后使用Fabric 3在venv中调用该函数。
python -m venv azure_cli_venv
. azure_cli_venv/bin/activate
pip install azure-cli
deactivate
Fabric3本地呼叫:
local(f'./azure_cli_venv/bin/az --help