在Heroku上加载应用程序依赖项时出现问题

2022-04-07 00:00:00 python time pickle heroku random

问题描述

我正在尝试将程序部署到Heroku,但在安装多个依赖项时收到错误:

'No matching distribution found for random'

也适用于timepickle依赖项。在网上我发现这是因为他们没有更新,但没有找到如何修复它。 文件内容requirements.txt

telebot
config
random
datetime
pickle
time

文件内容Procfile.windows

bot: python3 bot.py

解决方案

像许多语言一样,它附带了一个standard library,其中包括一定数量的开箱即用的基本功能。requirements.txt文件中的大多数依赖项都包含在此标准库中。不需要自己安装它们。

从该文件中删除、、和。您应该能够import并自动使用它们。telebotconfig不是标准库的一部分,因此它们应该保留:

telebot
config

您的requirements.txt应该像在Heroku上一样在本地运行。您可以通过运行pip install -r requirements.txt将依赖项安装到当前环境中。

此外,您的Procfile可能需要更改。由于不了解您的项目的更多信息,我不能确定,但您的进程类型可能应该是web,并且您可能需要使用python而不是python3(尽管python3可能也可以):

web: python bot.py

该文件应命名为Procfile,不带任何文件扩展名。

相关文章