Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
PyInstaller error: startswith first arg must be str or a tuple of str, not ...
#1
Hola estoy intentado reproducir un video utilizando el modulo moviepy, el cuál funciona correctamente en el IDLL pero al convertirlo a exe, me aparece el error mostrado. Espero me puedan ayudar, este código es pequeño. El video no lo subo pues es pesado, pero pueden tomar cualquier video y ponerle el nombre rrr.mp4 y colocarlo en la carpeta donde coloquen el código y funcionara, se le agradece su ayuda.

código:

from moviepy.editor import * #debes instalar moviepy and pygame
import pygame

clip = VideoFileClip('rrr.mp4') #si aca le pones: .resize(0.5) la pantalla salda la mitad  del tamaño original, si pones: .resize((600,500)) es tamaño
clip.preview()

pygame.quit()


error luego de convertirlo a exe:
Traceback (most recent call last):
  File "C:\Users\Shon\AppData\Local\Programs\Python\Python39\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth__tkinter.py", line 28, in <module>
    raise FileNotFoundError('Tcl data directory "%s" not found.' % (tcldir))
FileNotFoundError: Tcl data directory "C:\Users\Shon\Desktop\videos\tcl" not found.
[14220] Failed to execute script 'pyi_rth__tkinter' due to unhandled exception!
Responder
#2
Hola.

¿Es exactemente ese el código que te arroja un error? Porque parece haber algún problema con Tk, que aparentemente no estás usando. ¿Tenés una carpeta llamada "C:\Users\Shon\Desktop\videos\tcl"?

Saludos
Responder
#3
Ups, perdón me eh equivocado, el error es el siguiente (Nota: anexo el link donde podrá encontrar el código, el archivo exe y el error; además este error apareció luego de formatear mi ordenador, pues antes de formatearla corriá normal, y creo que tenía que ver con el hook de pyinstaller, pues recuerdo que copie algo en la carpeta de Python pero ya no recuerdo, agradecería que me pueda ayudar):
https://mega.nz/folder/7gxiSZia#0WHGPhCt0BG0C7syeShB-A

Error:
Traceback (most recent call last):
File "videos.py", line 2, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
File "moviepy\editor.py", line 48, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module
File "moviepy\video\fx\all\__init__.py", line 13, in <module>
File "moviepy\video\fx\all\__init__.py", line 13, in <listcomp>
File "C:\Users\Shon\AppData\Local\Programs\Python\Python39\Lib\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py", line 71, in _pyi_pkgutil_iter_modules
assert pkg_path.startswith(SYS_PREFIX)
TypeError: startswith first arg must be str or a tuple of str, not PureWindowsPath
[3580] Failed to execute script 'videos' due to unhandled exception!
Responder
#4
Hola. Eso parece ser un bug de PyInstaller más que algún problema con tu aplicación. ¿Qué versión de PyInstaller tenés? Probá instalando una versión anterior:

Código:
pip uninstall PyInstaller
pip install PyInstaller==4.3

Saludos
Responder
#5
Muchas gracias estimado Francisco, me funciono, la versión que tenia era pip install PyInstaller==4.4.
Se hace notar que al instalar la versión 4.3 deben desinstalar el antivirus para evitar que les salga este error de instalación:
ERROR: Could not build wheels for PyInstaller which use PEP 517 and cannot be installed directly
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)