FLASK Python Heroku 部署问题

FLASK Python Heroku deployment issues

我正在尝试将应用程序部署到 heroku,它是一个非常简单的应用程序,但是当我尝试使用 push heroku master 进行部署时,出现以下错误

(env) PS C:\Users\xblade\Desktop\F1> git push heroku master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 465 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing pip
remote: -----> Installing requirements with pip
remote:        Collecting click==6.7 (from -r /tmp/build_351795e51ca44a70ac39d32b8fa95475/requirements.txt (line 1))
remote:          Downloading click-6.7-py2.py3-none-any.whl (71kB)
remote:        Collecting Flask==0.12.2 (from -r /tmp/build_351795e51ca44a70ac39d32b8fa95475/requirements.txt (line 2))
remote:          Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB)
remote:        Collecting Flask-SQLAlchemy==2.3.2 (from -r /tmp/build_351795e51ca44a70ac39d32b8fa95475/requirements.txt (line 3))
remote:          Downloading Flask_SQLAlchemy-2.3.2-py2.py3-none-any.whl
remote:        Collecting Flask-WTF==0.14.2 (from -r /tmp/build_351795e51ca44a70ac39d32b8fa95475/requirements.txt (line 4))
remote:          Downloading Flask_WTF-0.14.2-py2.py3-none-any.whl
remote:        Collecting itsdangerous==0.24 (from -r /tmp/build_351795e51ca44a70ac39d32b8fa95475/requirements.txt (line 6))
remote:          Downloading itsdangerous-0.24.tar.gz (46kB)
remote:            Complete output from command python setup.py egg_info:
remote:            /app/.heroku/python/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'zip_safe'
remote:              warnings.warn(msg)
remote:            usage: -c [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
remote:               or: -c --help [cmd1 cmd2 ...]
remote:               or: -c --help-commands
remote:               or: -c cmd --help
remote:
remote:            error: invalid command 'egg_info'
remote:
remote:            ----------------------------------------
remote:        Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-huroui6_/itsdangerous/
remote:  !     Push rejected, failed to compile Python app.
remote:
remote:  !     Push failed
remote: Verifying deploy....
remote:
remote: !       Push rejected to boiling-crag-24883.
remote:
To https://git.heroku.com/boiling-crag-24883.git
 ! [remote rejected] master -> master (pre-receive hook declined)

好像跟requirements.txt有点关系。

它正在尝试安装一些 pip 要求,但失败了。

我觉得跟distutils有点关系。我尝试在没有任何要求的情况下上传,除了 1 并且它工作正常(但应用程序不起作用)。

问题似乎与烧瓶包及其附加包有关,例如 itsdangerous

这是 requirements.txt

中的软件包列表
click==6.7
Flask==0.12.2
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
gunicorn==19.7.1
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
psycopg2==2.7.4
SQLAlchemy==1.2.5
Werkzeug==0.14.1
WTForms==2.1

有谁知道此部署失败的原因以及我可以做些什么来解决它?

谢谢

我在这里找到了更好的解决方案,您可以在命令行中使用以下两个命令解决此问题

$ heroku plugins:install heroku-repo
$ heroku repo:purge_cache

请在此处找到 link 的解决方案 https://github.com/heroku/heroku-buildpack-python/issues/661#issuecomment-374183119