找不到满足 select 要求的版本
Could not find a version that satisfies the requirement for select requirements
我目前正在尝试安装一个要求,当我尝试将其注释掉时,它告诉我找不到它,它发生在其他人身上。
我刚刚部署了一个 Ubuntu 18.04
服务器。通过以下命令创建虚拟环境 python3 -m venv --system-site-packages env
但每次我尝试 运行 pip install -r requirements.txt
它都会失败
Collecting apparmor==2.12 (from -r requirements.txt (line 1))
Could not find a version that satisfies the requirement apparmor==2.12 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for apparmor==2.12 (from -r requirements.txt (line 1))
如果我尝试安装说 pip install apparmor
它告诉我
Collecting apparmor
Could not find a version that satisfies the requirement apparmor (from versions: )
No matching distribution found for apparmor
但是如果我注释掉 apparmor,它会告诉我这个
Collecting apturl==0.5.2 (from -r requirements.txt (line 2))
Could not find a version that satisfies the requirement apturl==0.5.2 (from -r requirements.txt (line 2)) (from versions: )
No matching distribution found for apturl==0.5.2 (from -r requirements.txt (line 2))
它会随机出现在其他人身上。这些要求是在我的本地进行的,也是 ubuntu 18
所以不确定为什么这适用于本地而不适用于新部署。
我也确定它是最新版本的 pip
apparmor
和 apturl
是 Ubuntu 包,如果你的代码没有使用它们的代码,你可以放心地忽略它们;只需将它们从 requirements.txt
中删除即可。如果您的代码依赖于它们,请确保通过 apt
:
安装它们
apt install -y apparmor apturl && pip install -r requirements.txt
当您不使用 虚拟环境 与 python 一起工作时,这是一个常见问题,因此您的 requirements.txt
列出了所有包 pythons of your system or OS, when you must have only the packages from your project.在某个时刻,您在没有虚拟环境的情况下将 requirements.txt
更新为 pip freeze > requirements.txt
,并使用 OS 和项目中的所有 python 包更新了 requirements.txt
,并可能上传到存储库。所以当你想在另一台计算机上 运行 并安装所有软件包时,你会遇到这种错误...
Python 默认安装在 ubuntu 中,您必须考虑这一点以及其他系统。
- 第一条规则是每次都使用虚拟环境“virtual env documentation”
- 我知道这很辛苦,但您可以备份
requirements.txt
并清理它。然后尝试 运行 你的程序没有任何包(全新安装),当由于缺少包而发生错误时,你添加它并使用 pip freeze > requirements.txt
更新
我目前正在尝试安装一个要求,当我尝试将其注释掉时,它告诉我找不到它,它发生在其他人身上。
我刚刚部署了一个 Ubuntu 18.04
服务器。通过以下命令创建虚拟环境 python3 -m venv --system-site-packages env
但每次我尝试 运行 pip install -r requirements.txt
它都会失败
Collecting apparmor==2.12 (from -r requirements.txt (line 1))
Could not find a version that satisfies the requirement apparmor==2.12 (from -r requirements.txt (line 1)) (from versions: )
No matching distribution found for apparmor==2.12 (from -r requirements.txt (line 1))
如果我尝试安装说 pip install apparmor
它告诉我
Collecting apparmor
Could not find a version that satisfies the requirement apparmor (from versions: )
No matching distribution found for apparmor
但是如果我注释掉 apparmor,它会告诉我这个
Collecting apturl==0.5.2 (from -r requirements.txt (line 2))
Could not find a version that satisfies the requirement apturl==0.5.2 (from -r requirements.txt (line 2)) (from versions: )
No matching distribution found for apturl==0.5.2 (from -r requirements.txt (line 2))
它会随机出现在其他人身上。这些要求是在我的本地进行的,也是 ubuntu 18
所以不确定为什么这适用于本地而不适用于新部署。
我也确定它是最新版本的 pip
apparmor
和 apturl
是 Ubuntu 包,如果你的代码没有使用它们的代码,你可以放心地忽略它们;只需将它们从 requirements.txt
中删除即可。如果您的代码依赖于它们,请确保通过 apt
:
apt install -y apparmor apturl && pip install -r requirements.txt
当您不使用 虚拟环境 与 python 一起工作时,这是一个常见问题,因此您的 requirements.txt
列出了所有包 pythons of your system or OS, when you must have only the packages from your project.在某个时刻,您在没有虚拟环境的情况下将 requirements.txt
更新为 pip freeze > requirements.txt
,并使用 OS 和项目中的所有 python 包更新了 requirements.txt
,并可能上传到存储库。所以当你想在另一台计算机上 运行 并安装所有软件包时,你会遇到这种错误...
Python 默认安装在 ubuntu 中,您必须考虑这一点以及其他系统。
- 第一条规则是每次都使用虚拟环境“virtual env documentation”
- 我知道这很辛苦,但您可以备份
requirements.txt
并清理它。然后尝试 运行 你的程序没有任何包(全新安装),当由于缺少包而发生错误时,你添加它并使用pip freeze > requirements.txt
更新