如何使用 pyinstaller 制作 vpython.exe

2024-04-20

我有一个使用 vpython 的简单脚本(只是测试),我想使用 pyinstaller 创建一个 .exe 文件。

这是脚本:

from visual import*
box()

然后我在控制台中运行:

pyinstaller sss.py

但 .exe 不起作用(显然)

我一直在谷歌搜索如何为 vpython 制作 .spec 文件,但什么也没找到。

还尝试制作这个 .spec 文件

# -*- mode: python -*-

block_cipher = None


a = Analysis(['sss.py'],
             pathex=['C:\\Users\\hdfh\\Documents\\Python Scripts'],
             binaries=None,
             datas=None,
             hiddenimports=(['visual','vis','visual_common','viddle']),
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          exclude_binaries=True,
          name='sss.exe',
          debug=False,
          strip=None,
          upx=True,
          console=False )
coll = COLLECT(exe,
               a.binaries,
               a.zipfiles,
               a.datas,
               strip=None,
               upx=True,
               name='sss')

但没有成功


我会回答自己,也许对某人有帮助。

当 pyinstaller 与 vpython 一起使用并且您尝试运行 .exe 文件时,它无法找到放置在中的 TGA 存档

C:\Anaconda2\Lib\site-packages\visual_common

所以我们必须编辑存档materials.py

C:\Anaconda2\Lib\site-packages\visual_common\materials.py

这里我们寻找代码

import sys
if hasattr(sys,'frozen') and (sys.frozen=="windows_exe" or sys.frozen=="console_exe"):
    texturePath="visual\\"
else:
    texturePath = os.path.split( __file__ )[0] + "/"
del sys

对我来说工作改变texturePath=...到另一个目录,例如 C:

import sys
if hasattr(sys,'frozen') and (sys.frozen=="windows_exe" or sys.frozen=="console_exe"):
    texturePath=os.path.abspath("C:/")
else:
    texturePath = os.path.abspath("C:/")
del sys

保存并将 TGA 存档从 Visual_common 移动到 C:/(或所选位置),最后尝试从控制台构建 .exe

pyinstaller test.py

对于这个作品...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 pyinstaller 制作 vpython.exe 的相关文章

随机推荐