Что означает, что установленное приложение должно быть «видимым» для каталога в Linux?

Я пытаюсь развернуть openstack, используя подход Kolla-ansible с этим руководством, используя виртуальную среду. пока пишу команду:

kolla-ansible -i ./all-in-one bootstrap-servers

Я получаю эту ошибку:

TASK [openstack.kolla.packages : Install packages] *****************************************************
[WARNING]: Updating cache and auto-installing missing dependency: python3-apt
fatal: [localhost]: FAILED! => {"changed": false, "msg": "python3-apt must be installed and visible from /root/my_venv/bin/python."}

Я гуглил, но не нашел ничего полезного, и я супер новичок в ansible, openstack и linux. Каков наилучший порядок действий?

Я ожидаю, что результат будет примерно таким:

PLAY RECAP *********************************************************************************************
localhost: ok=8    changed=0    unreachable=0    **failed=0**   skipped=3    rescued=0    ignored=0 
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Пакет python можно установить в нескольких местах. Различные виртуальные среды настроены на поиск различных наборов таких местоположений, поэтому некоторые из этих виртуальных сред могут найти пакет, а другие — нет.

Виртуальная среда, созданная по умолчанию, не сможет найти глобально установленные пакеты. Это по дизайну.

Ваша конкретная виртуальная среда /root/my_venv/ должна быть в состоянии найти python3-apt. Даже если он установлен глобально, виртуальная среда его не найдет.

Один из способов — активировать виртуальную среду и pip3 install пакет. Он будет виден только этой виртуальной среде.

Другой способ — установить пакет глобально, скажем, apt install, а затем создать виртуальную среду для наследования глобальных пакетов вот так.

Спасибо. так что не имеет значения, где создается виртуальная среда, она никогда не сможет найти глобально установленные пакеты?

John 14.11.2022 07:10

По умолчанию нет, глобальные пакеты не будут найдены.

n. m. 14.11.2022 08:53

В Linux установленное приложение должно быть «видимо» для каталога, чтобы пользователь мог получить к нему доступ. Это означает, что приложение должно находиться в каталоге, который указан в переменной среды PATH пользователя.

Спасибо. чтобы переменные среды могли получить доступ к PATH?

John 14.11.2022 07:12

Переменная среды <code>PATH</code> представляет собой список каталогов, в которых оболочка будет искать исполняемые файлы при вводе команды. Если команда не найдена ни в одном из каталогов, перечисленных в <code>PATH</code>, оболочка выдаст сообщение об ошибке.

ANISH SAJI KUMAR 14.11.2022 07:16

Другие вопросы по теме