Когда я пытаюсь отправить приложение фляги в Heroku
, в моем терминале появляется следующая ошибка, и сборка завершается сбоем.
Я не могу понять, что здесь не так, полная ошибка:
Counting objects: 6422, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5375/5375), done.
Writing objects: 100% (6422/6422), 18.81 MiB | 668.00 KiB/s, done.
Total 6422 (delta 2146), reused 4421 (delta 868)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Python app detected
remote: -----> Installing python-3.6.12
remote: -----> Installing pip 20.1.1, setuptools 47.1.1 and wheel 0.34.2
remote: -----> Installing SQLite3
remote: -----> Installing requirements with pip
remote: Collecting bcrypt==3.2.0
remote: Downloading bcrypt-3.2.0-cp36-abi3-manylinux2010_x86_64.whl (63 kB)
remote: Collecting Flask==1.1.2
remote: Downloading Flask-1.1.2-py2.py3-none-any.whl (94 kB)
remote: Collecting Flask-Bcrypt==0.7.1
remote: Downloading Flask-Bcrypt-0.7.1.tar.gz (5.1 kB)
remote: Collecting flask-pwa==0.1.0
remote: Downloading flask_pwa-0.1.0-py3-none-any.whl (140 kB)
remote: Collecting Flask-Session==0.3.2
remote: Downloading Flask_Session-0.3.2-py2.py3-none-any.whl (7.4 kB)
remote: Collecting Flask-SQLAlchemy==2.4.4
remote: Downloading Flask_SQLAlchemy-2.4.4-py2.py3-none-any.whl (17 kB)
remote: Collecting flask-template==0.4.4
remote: Downloading flask_template-0.4.4-py3-none-any.whl (32 kB)
remote: Collecting Flask-WhooshAlchemy==0.56
remote: Downloading Flask-WhooshAlchemy-0.56.tar.gz (8.5 kB)
remote: Collecting gunicorn==20.0.4
remote: Downloading gunicorn-20.0.4-py2.py3-none-any.whl (77 kB)
remote: Collecting itsdangerous==1.1.0
remote: Downloading itsdangerous-1.1.0-py2.py3-none-any.whl (16 kB)
remote: Collecting Jinja2==2.11.2
remote: Downloading Jinja2-2.11.2-py2.py3-none-any.whl (125 kB)
remote: Collecting MarkupSafe==1.0
remote: Downloading MarkupSafe-1.0.tar.gz (14 kB)
remote: ERROR: Command errored out with exit status 1:
remote: command: /app/.heroku/python/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-a2gejoxi/MarkupSafe/setup.py'"'"'; __file__='"'"'/tmp/pip-install-a2gejoxi/MarkupSafe/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-hgdhn9un
remote: cwd: /tmp/pip-install-a2gejoxi/MarkupSafe/
remote: Complete output (5 lines):
remote: Traceback (most recent call last):
remote: File "<string>", line 1, in <module>
remote: File "/tmp/pip-install-a2gejoxi/MarkupSafe/setup.py", line 6, in <module>
remote: from setuptools import setup, Extension, Feature
remote: ImportError: cannot import name 'Feature'
remote: ----------------------------------------
remote: ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
remote: ! Push rejected, failed to compile Python app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to <app name>.
remote:
To https://git.heroku.com/<app name>.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/<app name>.git'
Вот мои требования.txt:
bcrypt==3.2.0
Flask==1.1.2
Flask-Bcrypt==0.7.1
flask-pwa==0.1.0
Flask-Session==0.3.2
Flask-SQLAlchemy==2.4.4
flask-template==0.4.4
Flask-WhooshAlchemy==0.56
gunicorn==20.0.4
itsdangerous==1.1.0
Jinja2==2.11.2
MarkupSafe==1.0
python-dotenv==0.15.0
razorpay==1.2.0
SQLAlchemy==1.3.20
sqlparse==0.4.1
validate-email==1.3
virtualenv==15.1.0
Werkzeug==1.0.1
Whoosh==2.7.4
Пожалуйста, помогите мне, я впервые развертываю приложение в рабочей среде.
Я использую linux
с with python3.6
.
Спасибо за любую помощь.
Функция Feature
была удалена из setuptools
в версии v46.0.0. Чтобы решить вашу проблему, вам нужно либо обновить MarkupSafe
до более поздней версии, либо понизить setuptools
до версии < v46.0.0
.
Попробуйте последнюю версию MarkupSafe
1.1.1.
@hoper < v46
как я уже сказал.
pip install --upgrade setuptools==45 исправил это.