【问题标题】:Using Fabric 2 and Fabric 3 in the same project在同一个项目中使用 Fabric 2 和 Fabric 3
【发布时间】:2020-01-29 16:12:27
【问题描述】:

我目前在 python 项目中使用 Fabric3,我想使用 azure-cli 包。但是,当我安装软件包时,它似乎破坏了我的 Fabric3 安装:

root ~ $ fab --version

Traceback(最近一次调用最后一次):

文件“/opt/rh/rh-python36/root/usr/bin/fab”,第 7 行,在

从 Fabric3.main 导入程序

ModuleNotFoundError: 没有名为“Fabric3”的模块

我注意到 azure-cli 的 pip install 似乎安装了结构(2.5.0),这似乎覆盖了“/opt/rh/rh-python36/root/usrbin/fab”中的一些结构文件" 脚本和 "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/fabric/" 目录。

所以我的问题是,有没有办法在同一个项目中运行不同版本的 Fabric?

提前致谢

【问题讨论】:

  • 为什么使用fabric3?它是否具有 fabric2 所没有的特定功能?请记住,fabric3 是一个非官方的 fork op fabric2!如果我是你,我只会使用面料 2
  • 我相信 Fabric3 是在 Fabric2 发布之前使用的。它是项目中广泛使用的依赖项,因此迁移到 Fabric2 并不是真正的选择

标签: python python-3.x fabric


【解决方案1】:

我找到了一种使用 python 虚拟环境的方法。

我创建了一个virtual env,激活了virtual env,安装了pip包,停用了virtual env,然后使用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

【讨论】:

    猜你喜欢
    • 2021-11-02
    • 2010-11-23
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    相关资源
    最近更新 更多