我浏览了多个类似问题的日志,并尝试了一些修复程序。我发现的修复程序均未解决该问题,因此希望自己上传对您有所帮助!
我的文件结构是:
.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 flask应用程序推送到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'
由于字符限制,我在中间取出了几行。
其他说明: -我在总公司 -我的Procfile读取为“ web:gunicorn app:app” -我使用的是SQLite,但我打算切换到Postgress -这是我第一个推送到Heroku的网络应用 -我在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
答案 0 :(得分:0)
也许您可以尝试以下操作:
您似乎缺少一个runtime.txt
文件,该文件指定了您希望在Heroku上定位的Python运行时环境。将以下文件添加到您的项目基本目录中(我假设您使用的是Python 3.7.0版,而不只是将其更改为适当的版本:)
runtime.txt:
python-3.7.0
您的Procfile
看上去不对,请将其更改为以下内容,因为 mysite.py 是您应用程序的切入点:
Procfile:
web: gunicorn mysite:app
您可以从requirements.txt
文件中删除此文件吗:wxPython==4.0.4?
Heroku允许您在云上托管Web应用程序,据我所知,它不支持本机GUI界面。
尝试将其作为您的requirements.txt文件,因为它已从pip freeze
cmd中拾取了一些不需要的库
requirements.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