当我尝试使用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
答案 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中。但是,实际上根本没有任何理由这样做。坚持使用默认版本。