我有一个discord bot,它在我的主程序文件夹中的一个名为“ cogs”的文件夹中使用COGS(模块)。
我目前使用这种方法来加载我的齿轮:
for filename in os.listdir(r'.\cogs'):
if filename.endswith('py'):
bot.load_extension(f'cogs.{filename[:-3]}')
当我尝试使用Pyinstaller时,这不起作用。我该如何解决这个问题而又不必摆脱齿轮?
答案 0 :(得分:0)
好了,我解决了这个问题,但是我不得不将齿轮移到文件夹中,然后移到主文件旁边。然后将它们添加到datas =部分的spec文件中,如下所示:
datas = [('cog_name.py','。'),('other_cog.py','。')],
我将齿轮加载方法更改为
extensions = [
'cog_name',
'other_cog_name'
]
for extension in extensions:
bot.load_extension(extension)
我没有进行隐藏的导入,而是将它们添加到了主文件中,以便pyinstaller可以找到它们而无需在规范中添加更多内容。
希望这对别人卡住会有所帮助。