我是编程/ 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"
是什么以及如何解决这个问题。非常感谢你的帮助!
答案 0 :(得分:6)
在Python虚拟环境和项目路径中,只需输入:
即可 pip freeze > requirements.txt
。
这将在requirements.txt
文件中列出您使用的每个python包的确切版本。这就是Heroku如何知道运行Django应用程序需要安装的软件包。
答案 1 :(得分:2)
问题是,python2.7和python3.x是不同的版本。你需要相同版本的python - server和local。
待办事项:
将终端转到项目目录
cd / your / path / to / project /
激活你的virtualenv
source env / bin / activate
使用pip生成requirements.txt
pip freeze> requirements.txt
转到您的服务器并使用相同的python版本创建新的virtualenv(https://virtualenv.pypa.io/en/stable/reference/#cmdoption-p)
virtualenv --python = python2.7 env
在服务器上激活virtualenv
source env / bin / activate
使用pip安装requirements.txt
pip install -r requirements.txt
Django迁移
python manage.py migrate
使用runserver启动django(测试)或连接webserver(nginx,uwsgi,gunicorn,...)
python manage.py runserver