在创建Python项目时,Visual Studio创建以下结构: 您的存储库/解决方案文件夹:它包含Readme.md,.sln文件和项目文件夹。 在该项目文件夹中,包含所有脚本(带代码的.py文件)和.pyproj文件。
要将项目部署到Heroku,我将项目文件夹中的所有文件复制到一个单独的文件夹中,手动创建了requirements.txt,手动创建了Procfile(引用了我的主要.py脚本),创建了一个空的__init__.py文件;然后将其全部推送到GitHub。
当我在Visual Studio中构建代码(通过按F5键)时,该代码(一个Telegram机器人)可以根据需要工作,但是在Heroku上部署该代码时,其行为会稍有不同:它仅对发送给它的第一条消息做出正确的反应,并忽略下一个。似乎它在部署时只运行一次,而不是循环运行。
我错过了什么?部署到Heroku时,是否应该以某种方式包括.pyproj和.sln文件?
P.S。我的项目结构很简单。我有两个.py脚本:一个带有主要逻辑,另一个带有测试。在主要的.py文件中有以下代码块:
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
exit()