Использование Fabri c 2 и Fabri c 3 в одном проекте - PullRequest
0 голосов
/ 29 января 2020

В настоящее время я использую Fabric3 в проекте python и хочу использовать пакет azure -cli. Однако, когда я устанавливаю пакет, он, кажется, прерывает мою установку Fabric3:

root ~ $ fab --version

Трассировка (последний последний вызов):

Файл "/ opt / rh / rh-python36 / root / usr / bin / fab", строка 7, в

из программы импорта Fabric3.main

ModuleNotFoundError: Модуль не указан 'Fabric3'

Я заметил, что pip-инсталляция azure -cli, по-видимому, устанавливает fabri c (2.5.0), и это перезаписывает некоторые файлы fabri c в скрипте "/ opt / rh / rh-python36 / root / usrbin / fab" и в "/opt/rh/rh-python36/root/usr/lib64/python3.6/site-packages/fabric/" каталог.

Итак, мой вопрос, есть ли способ запустить разные версии Fabri c в рамках одного проекта?

Заранее спасибо

1 Ответ

0 голосов
/ 19 февраля 2020

Я нашел способ сделать это, используя python виртуальные среды.

Я создал виртуальную среду, активировал виртуальную среду, установил пакет pip, деактивировал виртуальную среду, затем использовал Fabri c 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
...