问题描述
我通过
创建了“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”
有什么问题吗?
解决方法
需求文件最常见的用例是只列出安装包所需的包:
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 环境。