将PyInstaller与不和谐的bot和齿轮一起使用时出现问题

时间:2020-07-30 16:50:35

标签: python-3.x pyinstaller discord.py

我有一个discord bot,它在我的主程序文件夹中的一个名为“ cogs”的文件夹中使用COGS(模块)。

我目前使用这种方法来加载我的齿轮:

for filename in os.listdir(r'.\cogs'):
    if filename.endswith('py'):
        bot.load_extension(f'cogs.{filename[:-3]}')

当我尝试使用Pyinstaller时,这不起作用。我该如何解决这个问题而又不必摆脱齿轮?

1 个答案:

答案 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可以找到它们而无需在规范中添加更多内容。

希望这对别人卡住会有所帮助。