截至本文发布之日,我有两台运行CentOS 7.8且具有所有最新补丁程序的服务器。在一台服务器上,我可以创建一个venv,在另一台服务器上,我会出错。这是用于创建venv的命令:
python3.6 -m venv venv
错误是:
Error: Command '['/root/venv/bin/python3.6', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
所以创建venv后似乎出现了问题。实际上,它在venv / bin中建立了到python解释器的链接,但是创建的lib64 / python3.6和lib / python3.6目录中只有空的站点包。无论使用root特权(如上)还是以非特权用户身份运行命令,我都会遇到问题。在另一个系统上,它不是完全相同的硬件,但是非常相似,我没有错误。
我尝试了很多事情,包括完全卸载所有python3 rpm并将它们重新安装在两个系统上。安装的python3模块是: python3,python3-devel,python3-libs,python3-other-rpm-macros,python3-pip,python3-rpm-generators,python3-setuptools,python3-tkinter,python3-wheel。所有这些都是使用centos仓库安装的。
我已经在互联网上搜索了,有效的一件事是使用--no-pip。但是,不足为奇的是,如果我这样做,我会得到没有点子的静脉,效果不佳。随rpm一起安装的pip版本是9.0.3版。但是,我尝试升级pip:
python3.6 -m pip install --upgrade pip
这将安装点20.1。有趣的是,它安装在/ usr / local / lib / python / site-packages中。无论如何,它什么都不会改变,并且我得到的基本上是相同的错误消息。
我什至在两台服务器上rsync同步/usr/lib/python3.6和/usr/lib64/python3.6(使用-avu --delete),以使它们相同。一切都无济于事。我不知所措。
我当然可以破解某些东西以使其正常工作,但是由于我使用它来自动构建测试环境,因此我真的需要使其自动工作。建议将不胜感激。