当前位置: 首页 > 面试题库 >

Pyinstaller:生成-exe文件+文件夹(在--onefile模式下)

谭志用
2023-03-14
问题内容

现在,我正在使用Pyinstaller。我有一个脚本,可以从img文件夹中获取图像。

/python
|----/img
|----|----icon1.ico
|----|----icon2.ico
|----maint.py

我生成.exe的脚本是

pyinstaller.py --windowed --noconsole --clean --onefile maint.py

问题是仅生成.exe文件,但整个文件夹/ img被忽略。

问题:为了自动获取.exe文件+ / img文件夹,我需要在上一行中添加哪种附加语法?

更新12/18/2013

我的意思是:执行pyinstaller.py脚本并包含所有参数后,我必须在/ dist文件夹中看到:.exe文件+ /
img文件夹,其中包含我为应用程序准备的所有图标或位图文件

谢谢


问题答案:

更新12/19/2013

终于,我们明白了!

0.我正在使用当前版本的PYInstaller + Python 2.67,并将Sublime Text作为编辑器。

1.如果您的Py脚本需要一些文件,图标,图像,则必须包括一个从项目文件夹(正在开发中)或形成临时数据文件夹(在部署中)检索这些文件的功能。该脚本必须完全在代码中您放置亲戚路径的部分中,以获取资源。请
严格按照以下准则进行操作:https :

2.在前面的代码之后,您必须首次执行pyinstaller命令-正如我在问题中所发表的-。

3.现在,打开执行PYInstaller(位于PYinstaller /)命令后生成的.spec文件,并在“
a.binaries”行之后,将下一行添加到EXE()函数中:

exe = EXE(pyz,
          a.scripts,
          a.binaries,
          Tree('..\\python\\images', prefix='images\\'),
....

请记住,在 Tree(…) 函数中,第一个参数是要放置在外部的文件夹: 这意味着我要包括该文件夹的所有内容
(请注意,我相对于AppStart放置了相对路径。 py文件) 放入我的.EXE文件的文件容器中。

4.修改之后,重新执行pyinstaller命令,但在这种情况下,指向我的.SPEC文件:

pyinstaller.py --windowed --noconsole --clean --onefile AppStart\AppStart.spec

最后,我的应用程序可以执行为可执行文件,而无需像提到的人那样复制并粘贴所有外部文件夹。 但是我一如既往地考虑良好的做法。

谢谢你的支持。



 类似资料:
  • 我试着做一个*。使用pyqtgraph的python应用程序中的exe文件和使用pyinstaller的pyqt库。Pyinstaller生成单个*。exe文件没有错误,但当我尝试启动它时,我得到一个未找到pyqtgraph的错误。 如何构建单个*。使用pyinstaller的exe文件?

  • 我试图捆绑我的py脚本作为一个. exe使用PyInstaller 2.0。我可以捆绑脚本,但是在我的脚本中,我需要打开一个应该捆绑在exe中的文件(所以它是可移植的)。我做这个有困难... 在我的生活中。是的,我有 我使用PyInstaller 2.0,这在我的电脑上工作正常,但是如果我把exe转移到另一台电脑上,它就不能工作了...PyInstaller 2.0非常新,所以上面的文档很少,出版

  • 问题内容: 情况 我在Windows上使用Pyinstaller制作项目的.exe文件。 我想使用option来获得干净的结果和易于分发的文件/程序。 我的程序使用一个文件来存储配置选项。该文件可以由用户定制。 问题 使用选项Pyinstaller将所有声明的“数据文件”放入单个文件文件中。 我已经看到了这个请求,但它给istructions添加一个包文件 的onefile内部 ,而不是外部的,在

  • 问题内容: 我正在尝试使用构建一个包含文件和图标的单文件EXE。我一生无法忍受。 如果我这样做了,那么一切都很好。当我使用时,它(在运行编译的EXE时)找不到引用的其他文件。它找到DLL和其他所有东西,只是找不到两个映像。 我查看了运行EXE时生成的,并且文件确实在其中。当我将EXE放到该临时目录中时,它会找到它们。很困惑。 这就是我添加到.spec文件中的内容 我还要补充一点,我也尝试过不要将它

  • 我试图添加一个图像到一个文件的PyInster产生。我读过很多问题/论坛,比如这个和那个,但仍然不起作用。 我知道对于一个文件操作,Pyinstller会产生一个临时文件夹,可以通过.然而,我不知道在我的脚本中应该在哪里添加这个. 请显示以下内容: 1-在哪里和如何应该添加?在python脚本中,还是在规范文件中? 2-要使用的确切命令是什么?我试过了 或 然后添加('myImag.png','i

  • Ive使用套接字包在我的本地网络上运行服务器。