Forum >> Principianti >> Pyinstaller module not found

Pagina: 1

Da pochi mesi sono alle prese con python e recentemente mi sono imbattuto in questo problema di "module not found" quando eseguo l'exe che corretamente (apparentemente) pyinstaller ha compilato in exe.
Ho creao un .bat per eseguire pyi-makespec e pyinstaller, che riporto sotto e che utilizzo:

> pyi-makespec --onefile --paths=C:\Users\Andrea\workspacePy_Main_AppMain_App --log-level DEBUG --console --hidden-import PP Idle --hidden-import PP Processo --hidden-import PP Schedule --hidden-import Link Status --name PP Main PP Main.py




> pyinstaller --onefile --log-level=DEBUG PP Main.spec




Tramite pyi-makespec pensavo mi risolvesse l'import dei 4 moduli che mi segnala nella compilazione ma non riesco a risolvere. Inizialmente quando il tutto era di pochi moduli mi eseguiva l'exe correttamente. Ora dovrei rismontare il tutto e provare a pezzi........... ???

Ho provato ad inserire anche il --paths, ma nulla.

PP Main.spec lo vedo con gli import che chiedo ???




Sotto la segnalazione in warn-PP Main.txt : (PP Main.py è il modulo principale)





missing module named PP Schedule - imported by C:\Users\Andrea\workspacePy_Main_AppMain_AppPP_Main.py (top-level)

missing module named PP Processo - imported by C:\Users\Andrea\workspacePy_Main_AppMain_AppPP_Main.py (top-level)

missing module named PP Idle - imported by C:\Users\Andrea\workspacePy_Main_AppMain_AppPP_Main.py (top-level)

missing module named Link Status - imported by C:\Users\Andrea\workspacePy_Main_AppMain_AppPP_Main.py (top-level)





Apparentemente sembrerebbe un problema banale essendo i moduli presenti e in una unica dir la stessa del modulo PP Main che li importa !!

Qualche suggerimento :) spero sia solo dovuto a mia inesperienza in merito, spero di essere stato sufficientemente chiaro, grazie e cordiali saluti :py:







Nessuno ha qualche idea in merito ???


--- Ultima modifica di andread in data 2019-03-26 19:06:33 ---
Purtroppo non sento nessun riscontro, probabilmente mi sono spiegato male ? o forse non è il post giusto o forse è troppo banale ? non sono certo esperto di python e men che meno di forum , scusate.
Vorrei comunque risolvere questo mio problemino,

grazie







Per ulteriore chiarezza, questo è quanto mi risponde quando eseguo l'exe segnalando uno dei 4 import che non trova (Link Status.py):





C:\Users\Andrea\workspacePy_Main_AppMain_App\dist>PP Main.exe

Traceback (most recent call last):

File "Main AppPP_Main.py", line 46, in <module>

ModuleNotFoundError: No module named 'Link Status'

5800 Failed to execute script PP Main





grazie


--- Ultima modifica di andread in data 2019-03-28 15:42:08 ---
Ma no, vedi, il fatto è che queste cose sono sempre un po' un incubo da decifrare. Prima di tutto questi tool sono sempre pieni di bachi, detto fuori dai denti. Non per colpa loro, eh: ma devono provare a organizzare in un workflow unico una quantità enorme di potenziali scenari, e qualcosa scappa sempre. Poi c'è il fatto che molto spesso chi li usa non ha una idea chiara di come funzionano e che cosa fanno davvero dietro le quinte. Si limita a leggere un tutorial qua e là, incrocia le dita e picchia sul tasto invio. Se poi viene fuori un errore, boh? Ma la triste verità è che già il modello di esecuzione di Python di per sé non è proprio facilissimo da capire, e il meccanismo degli import in particolare è proprio un incubo... e poi bisogna vedere che cosa Pyinstaller fa davvero per manipolare questo modello di esecuzione e "costringerlo" dentro il suo eseguibile portatile. E infine bisognerebbe vedere qual è esattamente il tuo scenario, come funziona il tuo codice, come è organizzato, da dove pesca gli import, la path, se hai un virtual environment in piedi per questo... E in tutto questo, naturalmente, non sarebbe neanche male postare in un forum dove si capisce che cosa stai postando (grrrr... ri-leggi i tuoi messaggi precedenti e dimmi che cosa capisci).


La verità è che (non da oggi) sono piuttosto scettico di questi tool come Pyinstaller... Vedi quello che ho scritto qui https://pythoninwindows.blogspot.com/2019/03/distribuire-un-programma-il-modo-facile.html

Grazie per la risposta , sono consapevole che le poche e confuse tracce che ho riportato non sono certo esaustive, da poco "gioco" con python, penso ancora che sia un buon linguaggio ma scopro sempre cose che mi preoccupano sempre più.
Dopo tanti anni di C C++ java etc etc (non certo a livelli professionali) scoprire che non riesco a superare un "semplice" import ........ma evidentemente, come mi hai chiarito, l'algoritmo di import in python è particolarmente complesso.

Riguardo il mio attuale problema ho visto molta documentazione nel sito pyinstaller che parla specificatamente di questo problema o di analoghi ma provando comunque no ho risolto.

Analogamente su stackoverflow molti post sul tema ma nulla che mi porti a qualche risultato.




Proverò a modificare il codice dell'app che sto sviluppando come "allenamento" , contiene treading , gestione della GUI con PYQT5 e gestione delle com ecc... ma certo non ho implementato cose strane.

Evidentemente qualche cosa forse è errata o non compatibile con pyinstaller.

La gestione degli errori in java è a mio parere ( forse più a sentimento che altro) più stringente.




Un grazie per le considerazioni complessive e per il riferimento alla Tua pubblicazione , interessante e credo molto utile, me la sono letta velocemente ma domani vedo di focalizzare meglio.

Purtroppo sono testa-dura e in qualche modo cercherò di arrivare a qualche soluzione, magari sfruttando le Tue indicazioni.




Grazie 10.000, cordialmente













Pagina: 1



Esegui il login per scrivere una risposta.