Foros Python
PyInstaller error: startswith first arg must be str or a tuple of str, not ... - Versión para impresión

+- Foros Python (https://foro.recursospython.com)
+-- Foro: Desarrollo (https://foro.recursospython.com/forumdisplay.php?fid=1)
+--- Foro: Visualización y análisis de datos (https://foro.recursospython.com/forumdisplay.php?fid=10)
+--- Tema: PyInstaller error: startswith first arg must be str or a tuple of str, not ... (/showthread.php?tid=974)



PyInstaller error: startswith first arg must be str or a tuple of str, not ... - jamerxd125 - 21-07-2021

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!


RE: Error con moviepy - Francisco - 21-07-2021

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


RE: Error con moviepy - jamerxd125 - 21-07-2021

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!


RE: Error con moviepy - Francisco - 23-07-2021

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


RE: Error con moviepy - jamerxd125 - 23-07-2021

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