首页 > 解决方案 > 未能将一些 refs 推送到 heroku

问题描述

我查看了多个类似问题的日志并尝试了一些修复。我发现的修复程序都没有解决这个问题,所以我希望上传我自己的会有所帮助!

我的文件结构是:

.git(folder)
__psycache__(folder)
static(folder)
templates(folder)
mysite.py(file)
Procfile(file)
requirements.txt(file)

当我尝试通过:

git add .
git commit -am "make it better"
git push heroku master

它没有通过并向我发送一条错误消息(消息如下):

我正在尝试将 python 烧瓶应用程序推送到 heroku,但每次推送它时,都会出现相同的错误:

Total 0 (delta 0), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.7
remote: -----> Installing pip
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote:        Collecting altgraph==0.16.1 (from -r /tmp/build_9198a2bd578560abc42ffe1b42e04366/requirements.txt (line 1))

remote:
remote:            Error running configure
remote:            ERROR: failed building wxWidgets
remote:            Traceback (most recent call last):
remote:              File "build.py", line 1321, in cmd_build_wx
remote:                wxbuild.main(wxDir(), build_options)
remote:              File "/tmp/pip-build-3mun_e25/wxPython/buildtools/build_wxwidgets.py", line 375, in main
remote:                "Error running configure")
remote:              File "/tmp/pip-build-3mun_e25/wxPython/buildtools/build_wxwidgets.py", line 85, in exitIfError
remote:                raise builder.BuildError(msg)
remote:            buildtools.builder.BuildError: Error running configure
remote:            Finished command: build_wx (0m6.238s)
remote:            Finished command: build (0m6.238s)
remote:            Command '"/app/.heroku/python/bin/python" -u build.py build' failed with exit code 1.
remote:
remote:            ----------------------------------------
remote:        Command "/app/.heroku/python/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-3mun_e25/wxPython/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-7rgfyfwr-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-3mun_e25/wxPython/
remote:  !     Push rejected, failed to compile Python app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !       Push rejected to jasomegathon.
remote:
To https://git.heroku.com/jasomegathon.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/jasomegathon.git'

由于字数限制,我在中间取出了几行。

其他注意事项: - 我在 master 分支 - 我的 Procfile 读取“web:gunicorn app:app” - 我正在使用 SQLite,但我打算切换到 postgress - 这是我第一个推送到 Heroku 的 Web 应用程序 - 我是在 Windows 机器上,但使用基于 linux 的 git bash 行

我的需求文件夹:

Flask==1.0.2
Flask-Mail==0.9.1
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
future==0.17.1
gunicorn==19.9.0
idna==2.8
isort==4.3.4
itsdangerous==1.1.0
jdcal==1.4
Jinja2==2.10
lazy-object-proxy==1.3.1
macholib==1.11
MarkupSafe==1.1.0
mccabe==0.6.1
openpyxl==2.5.12
pefile==2018.8.8
Pillow==5.4.1
pycodestyle==2.4.0
PyInstaller==3.4
pylint==2.2.2
pytz==2018.9
pywin32-ctypes==0.2.0
requests==2.21.0
six==1.12.0
soupsieve==1.7.1
SpeechRecognition==3.8.1
SQLAlchemy==1.2.16
urllib3==1.24.1
Werkzeug==0.14.1
wrapt==1.10.11
WTForms==2.2.1
wxPython==4.0.4

标签: pythonsqliteherokuflask

解决方案


也许您可以尝试以下方法:

  1. 看起来您缺少一个runtime.txt文件,该文件指定了您希望在 Heroku 上定位的 Python 运行时环境。将以下文件添加到您的项目基目录(我假设您使用的是 Python 版本 3.7.0,如果不只是将其更改为适当的版本:)

    运行时.txt:

    python-3.7.0

  2. Procfile看起来不好看,请将其更改为以下内容,因为mysite.py是您的应用程序的入口点:

档案:

web: gunicorn mysite:app
  1. 你能从你的requirements.txt文件中删除它吗:wxPython==4.0.4?Heroku 允许你在云上托管 Web 应用程序,并且据我所知不支持本机 GUI 界面。

  2. 试试这个作为你的 requirements.txt 文件,因为它从pip freezecmd中提取了一些不需要的库

要求.txt:

certifi==2017.7.27.1
chardet==3.0.4
click==6.7
decorator==4.1.2
Flask==0.12.2
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2
future==0.16.0
geocoder==1.32.1
gunicorn==19.7.1
idna==2.6
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
psycopg2==2.7.3.2
ratelim==0.1.6
requests==2.18.4
six==1.11.0
SQLAlchemy==1.1.14
urllib3==1.22
Werkzeug==0.12.2
WTForms==2.1

推荐阅读