PyInstaller-隐藏的导入列表

问题描述 投票:1回答:1

[尝试使用以下脚本添加大量隐藏的导入时,pyinstaller返回错误提示:

TypeError:不可散列的类型:'列表'

stuff = []

with open("warn.txt", 'r') as f:
    lines = f.readlines()

for i in range(16, len(lines)):
    content = (lines[i].split('-', 1))[0][21:-1]
    if content != '':
        if content[0] == '\'':
            content = content[1:-1]
        stuff.append(content)

是否有一种方法可以使用脚本而不是手动添加大量隐藏的导入内容?如果有帮助,warn.txt文件第16行之后的行都应如下所示(当在PyCharm中运行时,代码会产生预期的输出,即模块名称列表):missing module named win32api - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional)

python python-3.x build pyinstaller
1个回答
0
投票

写完这个问题后不久,我意识到我已经忽略了一个明显的问题。

问题来自分析的hidden-imports行:hiddenimports=[stuff]

如您所见,如果我不太注意警告,我将列表stuff放在两个方括号之间,因此使整个列表成为隐藏导入的一个元素。

如果有此问题,请确保进行检查,这将为您节省很多麻烦。

© www.soinside.com 2019 - 2024. All rights reserved.