无法使用Heroku部署Django API

时间:2018-10-28 21:50:49

标签: django heroku

当我尝试使用Heroku部署Django rest API时,我得到了:

-----> Python app detected
       Using supported version of Python 3.6 (python-3.6.6)
-----> Installing python-3.6.6
-----> Installing pip
-----> Installing SQLite3
-----> Installing requirements with pip
       Collecting Python==3.5.1 (from -r /tmp/build_eff222df1413c9c747fe9d073117baf7/requirements.txt (line 1))
         Could not find a version that satisfies the requirement Python==3.5.1 (from -r /tmp/build_eff222df1413c9c747fe9d073117baf7/requirements.txt (line 1)) (from versions: )
       No matching distribution found for Python==3.5.1 (from -r /tmp/build_eff222df1413c9c747fe9d073117baf7/requirements.txt (line 1))
 !     Push rejected, failed to compile Python app.
 !     Push failed

如何设置我的 requirements.txt 使其正常工作?我使用了一个虚拟环境,在其中安装了该环境:

django, 
djangorestframework, 
django-rest-auth, 
django-filter, 
django-cors-headers, 

我正在使用python 3.5和Django 2.0.1

2 个答案:

答案 0 :(得分:2)

部署Python应用程序的常见做法是将Python版本放入 runtime.txt 文件,而不是 requirements.txt

如果您从 requirements.txt 中删除行python==3.5.0,并创建内容为python-3.5.0的文件runtime.txt,您的应用是否正常上演?

答案 1 :(得分:0)

似乎您已将Python放入您的requirements.txt文件中。不要那样做。

如果您确实需要将Python版本从3.6更改为3.5,则需要将其放入runtime.txt中,而不是requirements.txt中。但是,实际上根本没有任何理由这样做。坚持使用默认版本。