好吧,所以我设法使用PyInstaller来构建我用Pygame制作的作业。凉。可执行文件正常工作。
问题是,除了可执行文件之外,还有很多混乱。许多文件,比如pyds和dll都会在同一个目录中附带exe,让它看起来很难看。
现在,我知道这些文件很重要;我使用的模块,比如Pygame,需要它们才能工作。不过,我如何让PyInstaller构建我的游戏,以便将混乱放入自己的文件夹中?我可以手动创建一个文件夹并在那里移动文件,但它会阻止exe工作。
如果这个信息可以帮助我,我使用的是Python 3.4.3,而且是在Windows上。
答案 0 :(得分:2)
不是想挖掘这个老问题,但这是我谷歌搜索的顶部,所以它可能也适用于其他人。
如果您打算将程序分发到某种文件夹中,您始终可以在 Windows 中将所有不需要的内容标记为隐藏,即使您压缩或解压缩它也会保持隐藏状态。
对于我设计的非常用户友好的程序,我只是选择了用户不需要的每个文件和文件夹并将其隐藏。如果用户显示隐藏文件(很少是默认的),他们就不会被 pyinstaller 创建的混乱文件吓倒。
答案 1 :(得分:0)
显然这是open request for pyinstaller
,但过去两年没有发生过。
我的解决方法是使用所有文件创建一个高于.exe
文件夹的快捷方式文件夹。
这里的困难部分是设置在所有PC中工作的快捷方式。 I did two things in the shortcut properties。
"%windir%\system32\cmd.exe" /c start "" "%CD%\YourFolder\YourEXE.exe"
第二个调用命令行并使用相对路径启动exe。我只用Windows 7测试过它。缺点是它成为了命令行的快捷方式,你得到了一个控制台窗口。
另一种选择是在高于.exe
的文件夹中创建批处理文件并调用它。这仅显示控制台窗口,但不允许您设置自己的图标。启动代码的示例代码:
@echo off
setlocal enabledelayedexpansion enableextensions
set CDir=%~dp0
set EXEF=%CDir%MyEXEFolder\
cd %EXEF%
start "MyCode" "MyCode.exe"
exit
只需打开记事本,添加代码并将其另存为.bat
文件。
This answer还介绍了py2exe
的解决方法,但pyinstaller
中可以使用类似的方法。但是,我发现这非常“丑陋”,我不确定在一个文件夹中收集所有依赖项是否容易。
还有Relative,但我不想使用其他程序。