为什么在requirements.txt文件中有很多依赖项?

时间:2020-08-14 05:19:32

标签: python flask heroku

我尝试在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应用。

!推送失败

2 个答案:

答案 0 :(得分:0)

如果您使用pip freeze > requirements.txt进行了requirements.txt 那么它将包含您一生中安装的所有模块。

如果您正在运行flask应用程序,则只需将flask添加到您的requirements.txt中。如果您还使用其他任何库,则也可以将其包含在您的requirements.txt中。

此外,heroku建议使用gunicorn,因此您只需要在您的require.txt或您需要的其他文件中包含 flaskgunicorn,并可以使用{{1}进行安装}。

答案 1 :(得分:0)

您可以发布收到的错误消息吗?

如果您使用命令requirements.txt生成了pip freeze > requirements.txt,并且其中包含了您尚未使用的依赖项,那么您可能不在虚拟环境中,该环境仅包含该项目的软件包。