pip install -r requirements.txt 错误,即使在正确的路径中

问题描述

我通过

创建了“requirements.txt”
pip freeze > requirements.txt

在本地目录并将其推送到我的远程 git 存储库。

然后我将它拉到“pythonanywhere.com”的 bash 控制台,然后移动到安装“requirements.txt”的目录。

尝试过

pip install -r requirements.txt

但是有一个错误

错误:由于环境错误,无法安装软件包:[Errno 2] 没有这样的文件或目录:'/tmp/build/.../.../work'

我使用的是 python 3.8 并且 pip 已经升级到最新版本。 我还检查了我是否走在正确的道路上

ls

显示“requirements.txt”

有什么问题吗?

error screenshot

解决方法

需求文件最常见的用例是只列出安装包所需的包:

numpy
pandas
[...]

但是有一些高级选项,例如指定确切的版本。您可以有一个概览at the documentation。以下段落与您的情况相关:

从 19.1 版本开始,pip 也支持像这样的直接引用:

SomeProject @ file:///somewhere/...

告诉 pip 查找该特定文件。这是您的需求文件中的情况:

asgiref @ file:///tmp/build/80754af9/asgiref_1605055780383/work

如果指定的文件在其他服务器上不存在,这自然会失败。

我不知道你是怎么到那里的(安装包的一些不常见的方式?conda 会安装这样的包吗?),但一个简单的修复方法是编辑 requirements.txt 以只列出你的包想要安装,可选版本,例如:

asgiref 
certifi==2020.12.5 
Django
mkl-fft==1.2.0 
mkl-random==1.1.1 
mkl-service==2.3.0 
numpy
olefile==0.46 
Pillow
psycopg2
pytz 
six
sqlparse
wincertstore==0.2

当然,这可能会安装与原始版本略有不同的版本。如果您最初通过不同的包管理器(例如 conda)安装了这些包,那么可能有更好的命令来归档 python 环境。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...