我将什么添加到Django目录中的requirements.txt以便将其推送到Heroku?

时间:2017-08-29 20:03:57

标签: python django git heroku

我是编程/ Web开发的新手,我想将Django目录推送到heroku。但每次我进入“git push heroku master”进入我的命令行时,我都会得到同样的错误:

"Could not find a version that satisfies the requirement bonjour-py==0.3 (from -r /tmp/build_602f#############86ff270e/requirements.txt (line 3)) (from versions: )"

我激活了虚拟环境,但无济于事。现在我假设问题可能是我的requirements.txt文件中没有任何内容(因为我认为无论如何都没有理由)。不过,我想知道"bonjour-py==0.3"是什么以及如何解决这个问题。非常感谢你的帮助!

2 个答案:

答案 0 :(得分:6)

在Python虚拟环境和项目路径中,只需输入:

即可

pip freeze > requirements.txt

这将在requirements.txt文件中列出您使用的每个python包的确切版本。这就是Heroku如何知道运行Django应用程序需要安装的软件包。

答案 1 :(得分:2)

问题是,python2.7和python3.x是不同的版本。你需要相同版本的python - server和local。

待办事项:

  1. 将终端转到项目目录

    cd / your / path / to / project /

  2. 激活你的virtualenv

    source env / bin / activate

  3. 使用pip生成requirements.txt

    pip freeze> requirements.txt

  4. 转到您的服务器并使用相同的python版本创建新的virtualenv(https://virtualenv.pypa.io/en/stable/reference/#cmdoption-p

    virtualenv --python = python2.7 env

  5. 在服务器上激活virtualenv

    source env / bin / activate

  6. 使用pip安装requirements.txt

    pip install -r requirements.txt

  7. Django迁移

    python manage.py migrate

  8. 使用runserver启动django(测试)或连接webserver(nginx,uwsgi,gunicorn,...)

    python manage.py runserver