我写了一个网站,除其他外,应该通过单击按钮启动一个用 python 编写的程序(Discord 的机器人)。程序本身已经在我的电脑上测试并且编写正确,网站本身的python环境包含运行所需的所有库。但程序并没有启动 - 在启动之前,一切都工作正常。我什至通过极其简化程序本身来测试这一点,并且它以简化的形式工作。问题是:有什么方法可以让我在从站点运行程序时获得终端屏幕,以便我自己可以看到错误并纠正它们,至少了解缺少什么。 PS - 他似乎在对 Discord 发誓,因为……我删除了其他所有内容,只留下机器人本身的启动,但它没有启动 链接:https://gist.github.com/Deserf001/5cbfa9bfd5f9930893f8bb32b4f58e71
在每一个可能出现问题的地方,都需要将一段代码包装在一个构造中
try;except。如果需要检查某些变量的值,请将其写入日志。
首先启动机器人。
要获得更具体的答案,请发布您的代码。
在我看来,你的问题是代码的并行执行。
(这是真的吗,没有看到实现就无法确认)
添加到问题的机器人代码的链接后添加。
可通过链接获取的机器人代码
仅应在直接启动此文件时执行。
我的猜测被证实了……
为了最终验证这一点,您需要Django项目(您尝试启动机器人的部分)中的代码。但也许这没有必要。
查看此问题的答案:Django 是同步还是异步?
如果阅读后您有任何疑问,请随时提出,
但要提出一个新的、更具体的问题。
突然,我能够解决我的问题(尽管这可能只是冰山一角)。事实证明,该程序实际上抱怨了它未知的库(特别是“Discord”),并产生了错误ModuleNotFoundError(“No module named 'discord'”)(下面的代码显示了我如何在站点并基本上从其他人的计算机上运行代码,感谢用户AnnaBazueva - SPAM的帮助)。事实证明,错误是库未位于标准路径(在“PATH”环境变量中指定)中。提示是由网站本身给出的,其中所有这些都应该启动,它在Django下工作,相应地, wsgi.py文件的类似物包含一个添加所需目录的命令(我刚刚复制了它,我们需要的路径插入到路径列表的第一个位置,“2.txt” - 用于记录错误检查结果的文件)。代码本身:
当我从其他人托管的站点运行代码时,脚本可以完全运行。