我尝试在heroku中部署flask应用程序,但对requirements.txt文件有问题。我有100多个模块。我需要100个模块来托管吗?我该怎么办?
这是我得到的错误:
----->检测到Python应用
----->安装python-3.6.11
----->安装pip 20.0.2,setuptools 39.0.1和转轮0.34.2
----->安装SQLite3
----->使用pip安装要求
Collecting alabaster==0.7.8
Downloading alabaster-0.7.8-py2.py3-none-any.whl (27 kB)
Collecting alembic==1.4.2
Downloading alembic-1.4.2.tar.gz (1.1 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'done'
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
Collecting appdirs==1.4.4
Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
ERROR: Could not find a version that satisfies the requirement apturl==0.5.2 (from -r /tmp/build_1d344ed6_/requirements.txt (line 4)) (from versions: none)
ERROR: No matching distribution found for apturl==0.5.2 (from -r /tmp/build_1d344ed6_/requirements.txt (line 4))
!推送被拒绝,无法编译Python应用。
!推送失败
答案 0 :(得分:0)
如果您使用pip freeze > requirements.txt
进行了requirements.txt
那么它将包含您一生中安装的所有模块。
如果您正在运行flask应用程序,则只需将flask
添加到您的requirements.txt中。如果您还使用其他任何库,则也可以将其包含在您的requirements.txt中。
此外,heroku建议使用gunicorn
,因此您只需要在您的require.txt或您需要的其他文件中包含 flask
和gunicorn
,并可以使用{{1}进行安装}。
答案 1 :(得分:0)
您可以发布收到的错误消息吗?
如果您使用命令requirements.txt
生成了pip freeze > requirements.txt
,并且其中包含了您尚未使用的依赖项,那么您可能不在虚拟环境中,该环境仅包含该项目的软件包。