cómo hacer vpython .exe usando pyinstaller

Tengo un script simple que usa vpython (solo pruebas) y quiero crear un archivo .exe con pyinstaller.

Este es el guión:

from visual import* box() 

Luego corro en la consola:

 pyinstaller sss.py 

Pero el .exe no funciona (obviamente)

He estado buscando en Google sobre cómo hacer el archivo .spec para vpython pero no encuentro nada.

    También intenté hacer este archivo .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') 

    Pero no funcionó

    Me responderé, tal vez ayude a alguien.

    Cuando se usa pyinstaller con vpython e intenta ejecutar el archivo .exe, tiene problemas para encontrar los archivos TGA ubicados en

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

    Así que tenemos que editar los materiales de archivo.py

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

    Aquí buscamos el código.

     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 

    Para mí, funcionó cambiar texturePath=... a otro directorio, por ejemplo 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 

    Guárdelo y mueva los archivos TGA de visual_common a C: / (o al lugar elegido) y finalmente intente comstackr el archivo .exe desde la consola

     pyinstaller test.py 

    Para esto funciona …