我正在尝试部署openstack使用Kolla-ansible方法与this guide使用虚拟环境。当我写命令:
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
2条答案
按热度按时间wgeznvg71#
一个python * 软件包 * 可以安装在多个位置。不同的 * 虚拟环境 * 被配置为搜索不同的位置集,因此这些虚拟环境中的一些可能能够找到一个软件包,而另一些可能不能。
以默认方式创建的虚拟环境将无法找到全局安装的软件包。这是设计使然。
您的特定虚拟环境
/root/my_venv/
必须能够找到python3-apt
。即使它是全局安装的,虚拟环境也不会找到它。一种方法是激活虚拟环境和
pip3 install
包。它将只对该虚拟环境可见。另一种方法是使用
apt install
全局安装软件包,然后创建您的虚拟环境以继承全局软件包like this。e3bfsja22#
在Linux中,已安装的应用程序必须对某个目录“可见”,用户才能访问它。这意味着应用程序必须位于用户的PATH环境变量中列出的目录中。