首页 > 解决方案 > 尝试安装 python 要求后 Heroku Django 应用程序部署失败

问题描述

我安装了 django-user-visit pip install django-user-visit,在本地环境中对其进行了测试,一切似乎都运行良好,但是当我尝试使用Heroku将我的应用程序部署到生产环境时,我收到以下错误:

remote:        Collecting django-cors-headers==3.6.0
remote:          Downloading django_cors_headers-3.6.0-py3-none-any.whl (12 kB)
remote:        ERROR: Could not find a version that satisfies the requirement django-user-visit==0.4.1 (from -r /tmp/build_940d12d0/requirements.txt (line 4)) (from versions: none)
remote:        ERROR: _No matching distribution_ found for django-user-visit==0.4.1 (from -r /tmp/build_940d12d0/requirements.txt (line 4))
remote:  !     Push rejected, failed to compile Python app.
remote: 
remote:  !     Push failed

有谁知道为什么 Heroku 找不到包裹,如果我能解决这个问题?

通过运行我的requirements.txt文件中指示的库来安装我的包:

asgiref==3.3.1
Django==3.1.5
django-cors-headers==3.6.0
django-user-visit==0.4.1
djangorestframework==3.12.2
gunicorn==20.0.4
psycopg2==2.8.6
pytz==2020.5
sqlparse==0.4.1
ua-parser==0.10.0
user-agents==2.2.0
whitenoise==5.2.0

到目前为止我尝试的是将版本更改为 0.4 并且根本不指定版本

标签: pythondjangoherokupip

解决方案


来自文档:https ://devcenter.heroku.com/articles/python-runtimes

如果您正在运行需要不同支持的运行时的 Python 应用程序,或者如果您只是想在准备好升级之前锁定项目以防止补丁更新,您可以指定要用于您的应用程序的运行时。

要指定 Python 运行时,请将runtime.txt文件添加到应用程序的根目录,该文件声明要使用的确切版本号。

在那之后

pip freeze > requirements.txt

推荐阅读