相关疑难解决方法(0)

使用PyInstaller捆绑数据文件(--onefile)

我正在尝试使用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更新,标记的较新答案正确.

python pyinstaller

88
推荐指数
7
解决办法
8万
查看次数

Pyinstaller错误 - "找不到setuptools发布"

尝试使用Pyinstaller为我的python项目构建可执行二进制文件.

环境细节:

Python - 2.7.6,pip - 6.1.1,setuptools - 21.2.1

我能够成功构建项目.

pyinstaller heatstackapp.py
......
......
83093 INFO: checking COLLECT
83093 INFO: Building COLLECT because out00-COLLECT.toc is non existent
83094 INFO: Building COLLECT out00-COLLECT.toc
jayaprakash@cloudenablers:/opt/core/heatstack/heatstack$
Run Code Online (Sandbox Code Playgroud)

而当我执行二进制文件时,它会抛出错误消息.

jayaprakash@cloudenablers:/opt/core/heatstack/heatstack$     ./dist/heatstackapp/heatstackapp 
......
......
      File "pbr/packaging.py", line 31, in <module>
      File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
        exec(bytecode, module.__dict__)
      File "setuptools/command/develop.py", line 11, in <module>
      File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
        exec(bytecode, module.__dict__)
      File "setuptools/command/easy_install.py", line 53, in <module>
      File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyimod03_importers.py", line 389, in load_module
        exec(bytecode, module.__dict__) …
Run Code Online (Sandbox Code Playgroud)

python pyinstaller

6
推荐指数
1
解决办法
1261
查看次数

标签 统计

pyinstaller ×2

python ×2