我不是英语母语用户,而且我是Python初学者。请原谅任何语法错误。
我无法将一个简单的烧瓶项目推向Heroku。
首先,我的requirements.txt如下所示:
click==6.7
Flask==0.12.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
Werkzeug==0.12.2
但是,Heroku会返回错误代码
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.1
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote: Failed to import the site module
remote: Traceback (most recent call last):
remote: File "/tmp/build_b20ee4f76cefa5dfa20998cf2e3692c7/site.py", line 1, in <module>
remote: from flask import Flask, render_template
remote: ModuleNotFoundError: No module named 'flask'
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
我在venv和全局环境中成功运行了项目,并在venv activate和deactive模式下多次运行./venv/bin/pip freeze
命令。在新的venv ./venv/bin/pip -r install requirements.txt
可以正常工作。
我不确定我做错了哪一步。任何建议都会有所帮助。
感谢。
答案 0 :(得分:1)
requirements.txt信息需要包含在Pipfile中。在本地pipenv,我使用:
pipenv install -r requirements.txt
这也更新了Pipfile。然后承诺并推送到heroku。希望这会有所帮助。