在Heroku服务器部署Telegram机器人时遭遇random模块依赖错误及Worker进程类型无法识别问题求助
解决Heroku部署Telegram机器人的两个问题
我们一步步来解决你遇到的两个问题:
1. 依赖安装失败:找不到random包
你在git push heroku master时遇到的错误,核心原因是**random是Python标准库的内置模块**,根本不需要在requirements.txt里声明。Heroku会尝试从PyPI下载这个不存在的第三方包,自然会导致推送失败。
解决步骤:
- 打开项目根目录的
requirements.txt文件,找到并删除random这一行 - 提交修改到git:
git add requirements.txt git commit -m "Remove unnecessary random dependency from requirements"
2. 找不到worker进程类型
Heroku需要通过Procfile文件明确知道如何启动你的worker进程,你目前没有定义这个配置文件,所以执行heroku ps:scale worker=1时会提示找不到该进程类型。
解决步骤:
- 在项目根目录创建一个名为**
Procfile**的文件(注意首字母必须大写,且没有任何后缀名) - 在文件中写入启动机器人的命令,把
your_bot_main.py替换成你机器人实际的主入口文件名:worker: python your_bot_main.py - 提交这个文件到git:
git add Procfile git commit -m "Add Procfile to define worker process for Telegram bot"
最后重新推送并启动worker
完成上述所有修改后,重新推送代码到Heroku:
git push heroku master
推送成功后,再执行启动worker的命令:
heroku ps:scale worker=1
这样应该就能正常启动你的Telegram机器人了。
内容的提问来源于stack exchange,提问作者SirJegor
相关产品推荐
相关产品推荐

