Python: Prebacivanje koda u exe file

Znam da postoji Pyinstaller, instalirao sam ga i pokušao da ga upotrebim, ali mi daje neke errore. Cilj mi je naravno da mogu nekom da pošaljem program da ga koristi.

Inače pratio sam ovo uputstvo:
http://www.pyinstaller.org/

Nakon što izvršim
Kod:
pyinstaller yourprogram.py
napravi mi spec fajl umesto exe.

Cudno, dokumentacija kaze da se spec pravi samo kad se pozove pyi-makespec, a da pyinstaller builduje izvrsni fajl..
Pokusaj taj spec da prosledis pyinstalleru sad da vidis sta ce se desiti
 
Poslednja izmena:
pip install pyinstaller i to iz command prompta iz foldera u kom držim py fajlove, što će reći staza je uspostavljena. Prošlo mi je instaliranje ako sam dobro video.

Pokusaj da pokrenes "pip install setuptools --upgrade", pa onda opet pozovi pyinstaller kao malopre (pyinstaller --onefile yourprogram.py)
Izgleda da se javljaju nekompatibilnosti prilikom razvoja paketa setuptools i pyinstaller, pa zbog toga dolazi do ovih gresaka (tako navodno kazu). Ovo bi trebalo da ispravi taj problem.
 
C:\Python36\kodovi>pip install setuptools --upgrade
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/ff/f4/385715ccc461885f3ced
f57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl
(567kB)
100% |████████████████████████████████| 573kB 1.2MB/s
Installing collected packages: setuptools
Found existing installation: setuptools 28.8.0
Uninstalling setuptools-28.8.0:
Successfully uninstalled setuptools-28.8.0
Successfully installed setuptools-40.0.0
 
C:\Python36\kodovi>pip install setuptools --upgrade
Collecting setuptools
Downloading https://files.pythonhosted.org/packages/ff/f4/385715ccc461885f3ced
f57a41ae3c12b5fec3f35cce4c8706b1a112a133/setuptools-40.0.0-py2.py3-none-any.whl
(567kB)
100% |████████████████████████████████| 573kB 1.2MB/s
Installing collected packages: setuptools
Found existing installation: setuptools 28.8.0
Uninstalling setuptools-28.8.0:
Successfully uninstalled setuptools-28.8.0
Successfully installed setuptools-40.0.0

Da, to bi trebalo da je proslo kako treba. Sad probaj da pokrenes pyinstaller --onefile yourprogram.py
 
и опет иста прича:

File "c:\python36\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\h
ook-urllib3.packages.six.moves.py", line 31, in pre_safe_import_module
for real_module_name, six_module_name in real_to_six_module_name.items():
AttributeError: 'str' object has no attribute 'items'
 
и опет иста прича:

File "c:\python36\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\h
ook-urllib3.packages.six.moves.py", line 31, in pre_safe_import_module
for real_module_name, six_module_name in real_to_six_module_name.items():
AttributeError: 'str' object has no attribute 'items'

Bas cudno. Koji editor/IDE koristis za pisanje koda?
Vidim da je jedan lik napisao da mu to isto nije pomoglo, i da je proradilo kad je zatvorio pycharm (mada ne znam zasto bi radilo posle toga, a pre toga nije htelo).
Ovo u slucaju ako koristis PyCharm IDE.

EDIT:

Radi li ako pokrenes pip install six?
 
Poslednja izmena:
сад видех - отворен је dist подфолдер за један од од два фајла која сам покушао да преведе. И има exe екстензију. али не ради. Занима ме зашто и за други фајл није направљена.

- - - - - - - - - -

fbj86d.png


ово видим кад пробам да укључим тај фајл.
 
To je sigurno neki problem sa zavisnostima paketa, samo me cudi da to nije reseno.
Najbolje bi bilo da se ti paketi koji prave problem downgrade-uju na poslednje verzije sa kojima je radilo sve ok, samo je pitanje koje su to verzije...

Kakvu to gresku prijavljuje Windows kad pokrenes exe?
Otvori onaj deo "view problem details". Pretpostavljam da fali neka biblioteka, da ne uspeva da se poveze sa necim, mozda neki dll, nisam siguran kako tacno radi pyinstaller ispod haube, da li ugradjuje sve u exe (ne verujem), ili se povezuje sa nekom dinamickom bibliotekom...
 
Poslednja izmena:
Екипо, објаснили су ми у чему је проблем на једној фејсбук групи за пајтон. У истом фолдеру сам држао и један os.py фајл од раније ( који сам направио док још нисам знао да се фајлови не називају по именима модула :hahaha:). Кад сам га обрисао бандловање успело. Међутим, сад постоји један други проблем а то је што код није прилагођен кориснику. Написао сам програм који кад унесеш неки појам отвара 5 табова са 5 првих резултата гугл претраге. И сад кад отворим .exe фајл јако ми брзо затвори и отвори прозор а да не могу ништа да унесем. Не капирам најбоље зашто је тако. А код другог програма ми само отвори гугл мапу, а поента програма је да корисник унесе адресу након чега му се отвори гугл мапа са том адресом.
 

Back
Top