Pyinstaller

0

Hej, mam problem z pyinstallerem.

Tworze sobie aplikacje exe wedlug tego: https://mborgerson.com/creating-an-executable-from-a-python-script/

i mam folder glowny a w nim podfoldery dwa , jeden z aplikacja a drugi z modułem ktory importuje w taki sposob: from abc.klasa import klasa1 . W pycharm wszystko działa , zadnych errorow nie ma , natomiast po wygenerowaniu exe otwiera sie konsola w niej blad no module named abc.klasa . W tym folderze znajduje sie plik init.py wiec powinien byc traktowany jako modul a nie jest, szukalem w google, dodalem do sys.path ale nie pomaga , ktos moze wie jak to rozwiazac? probowalem tez z --hidden-import ale tez nie działało

lion137
  • Rejestracja:około 8 lat
  • Ostatnio:około 11 godzin
  • Postów:4935
0

ziajek444
  • Rejestracja:ponad 8 lat
  • Ostatnio:około 5 lat
  • Postów:22
0

A wszystkie foldery i pliki zewnętrzne masz w odpowiednim miejscu? Pyinstaller chyba ich nie przenosi automatycznie

E1
  • Rejestracja:prawie 9 lat
  • Ostatnio:około 3 lata
  • Postów:27
1

Komplikowanie jest proste, upraszczanie jest skomplikowane.
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:5 dni
  • Lokalizacja:Kraków
  • Postów:2000
2

Nie próbowałem (póki co) użyć pyinstallera do spakowania całego drzewa do *.exe, ale w artykule, który zalinkowałeś gość budował aplikację z pojedynczego pliku więc miało to prawo nie wypalić ;) Jeśli nie wskażesz pyinstallerowi, żeby zrobił inaczej, to wygeneruje sobie jakiś dowolny specfile i najwyraźniej nie jest na tyle mądry, by (poprawnie, może jakoś próbuje) zawrzeć w nim ścieżki do importowanych modułów. Z tego, co widzę możesz spróbować samemu skonfigurować specfile: https://pythonhosted.org/PyInstaller/spec-files.html i podciągnąć do apki nie tylko moduły Pythonowe, ale też binarki i inne takie.

Możesz też zainteresować się toolem Nuitka http://nuitka.net/pages/overview.html - kompiluje Pythona do C a ten pod spodem do binarki. Twórcy twierdzą, że generuje znacznie szybszy kod niż CPython, a planują dalsze optymalizację - jak naprawią mi lapka to może spróbuję zrobić porównanie. Tylko nie ma póki co wsparcia cross-kompilacji, ale jest opcja kompilacji "tylko do C", potem możesz się już sam clangiem/gcc pobawić jeśli potrzebujesz. No i coś mi szwankowało jak próbowałem skompilować aplikację napisaną we Flasku, ale podejrzewam że albo to ja coś spartaczyłem, albo tool wymięka przy niektórych innych dependencjach ;)


edytowany 1x, ostatnio: superdurszlak

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.