在heroku(python 3.4.3)上部署Django项目
Posted
技术标签:
【中文标题】在heroku(python 3.4.3)上部署Django项目【英文标题】:Deploy Django project on heroku (python 3.4.3) 【发布时间】:2015-09-15 00:59:39 【问题描述】:我正在逐步遵循this 的指导。除了我使用 python 3.4.3 和 pyvenv 而不是 virtualenv。我已经安装了:
Python 3.4.3 Django 1.8.2 python-psycopg2 libpq 开发我的步骤是:
-
mkdir hellodjango && cd hellodjango
pyvenv venv
源 venv/bin/activate
pip install django-toolbelt(成功)
django-admin.py startproject hellodjango .
已创建 Procfile(网站:gunicorn hellodjango.wsgi --log-file -)
工头启动(成功并在浏览器中检查正在运行的应用程序)
点冻结> requirements.txt
添加 runtime.txt (python-3.4.3)
按照指南填写 settings.py 和 wsgi.py
初始化并提交 git repo
heroku 创建(成功)
git push heroku master(错误!)
所以 git push heroku master 说:
Counting objects: 14, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (14/14), 2.90 KiB | 0 bytes/s, done.
Total 14 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing runtime (
remote: python-3.4.3)
remote: ! Requested runtime (
remote: python-3.4.3) is not available for this stack (cedar-14).
remote: ! Aborting. More info: https://devcenter.heroku.com/articles/python-support
remote:
remote: ! Push rejected, failed to compile Python app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to cryptic-thicket-7510.
remote:
To https://git.heroku.com/cryptic-thicket-7510.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/cryptic-thicket-7510.git'
如您所见,主要错误是Requested runtime (remote: python-3.4.3) is not available for this stack (cedar-14).
我做错了什么?
【问题讨论】:
将 runtime.txt 更改为 python-3.4.2 【参考方案1】:根据this heroku 确实支持python 3.4.3。您只需要使用适当的 pip 版本。所以 [pip3 install django-toolbelt] 而不是 [pip install django-toolbelt]
【讨论】:
本地安装工具带的版本与服务器上运行的无关。 我知道,但它奏效了。不知道为什么,也许有人会解释。不同版本的pip会不会产生不同的requirements.txt?以上是关于在heroku(python 3.4.3)上部署Django项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Heroku 上部署时出现 Django 1.7 迁移错误
Python Flask(部署在 Heroku 上):ImportError: cannot import name 'secure_filename' from 'werkzeug' when de