我正在尝试使用PyInstaller构建一个单文件EXE,它包含一个图像和一个图标.我无法为我的生活而努力--onefile.
如果我这样做--onedir,一切工作都很顺利.当我使用时--onefile,它找不到引用的附加文件(运行编译的EXE时).它找到了DLL和其他一切都很好,只是不是两个图像.
我查看了运行EXE时生成的temp-dir(\Temp\_MEI95642\例如),文件确实在那里.当我将EXE放入该临时目录时,它会找到它们.非常困惑.
这是我添加到.spec文件中的内容
a.datas += [('images/icon.ico', 'D:\\[workspace]\\App\\src\\images\\icon.ico', 'DATA'),
('images/loaderani.gif','D:\\[workspace]\\App\\src\\images\\loaderani.gif','DATA')]
Run Code Online (Sandbox Code Playgroud)
我应该补充一点,我也试过不把它们放在子文件夹中,没有什么区别.
编辑: 由于PyInstaller更新,标记的较新答案正确.
第 4.1 节中的文档明确指出:
https://pylint.readthedocs.io/en/latest/faq.html#message-control
4.1 是否可以在本地禁用特定消息?
是的,此功能已在 Pylint 0.11 中添加。这可以通过在所需的块级别或所需代码行的末尾添加“#pylint: disable=some-message,another-one”来完成
伟大的!但它不起作用。嘘。
对于以下代码行,我收到以下 pylint 错误
W: 26, 2: Redefining built-in 'zip' (redefined-builtin)
Run Code Online (Sandbox Code Playgroud)
try:
from itertools import izip as zip # pylint: disable=bad-builtin
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
但是 pylint 更大声地抱怨我试图关闭它:
E: 26, 0: Bad option value 'bad-builtin' (bad-option-value)
Run Code Online (Sandbox Code Playgroud)
我也试过错误代码# pylint: disable=W0141,它也会产生类似的错误。
知道我做错了什么吗?