Próbuję przekonwertować dość prosty program w Pythonie na plik wykonywalny i nie mogłem znaleźć tego, czego szukałem, więc mam kilka pytań (używam Pythona 3.6):
Sposoby na to, które do tej pory odkryłem, są następujące
- pobieranie starej wersji Pythona i używanie
pyinstaller/py2exe
- skonfigurowanie środowiska wirtualnego w Pythonie 3.6, które pozwoli mi zrobić 1.
- pobranie konwertera Pythona na C ++ i używanie go.
Oto, czego próbowałem / jakie problemy napotkałem.
- Zainstalowałem
pyinstaller
przed wymaganym pobraniem (pypi-coś), więc nie zadziałało. Po pobraniu wymaganego plikupyinstaller
nadal go nie rozpoznaje. - Jeśli konfiguruję virtualenv w Pythonie 2.7, czy rzeczywiście muszę mieć zainstalowany Python 2.7?
- podobnie, jedyne konwertery z Pythona na C ++, które widzę, działają tylko do wersji Python 3.5 - czy muszę pobrać i używać tej wersji, jeśli próbuję to zrobić?
python
python-3.x
exe
py2exe
python-3.6
user7396807
źródło
źródło
Odpowiedzi:
Kroki konwersji .py na .exe w Pythonie 3.6
pip install cx_Freeze
.pip install idna
..py
program o nazwiemyfirstprog.py
.setup.py
w bieżącym katalogu skryptu.setup.py
pliku skopiuj poniższy kod i zapisz go.python setup.py build
build
. Zawiera inny folder. W tym folderze możesz znaleźć swoją aplikację. Uruchom. Uszczęśliw się.Zobacz oryginalny skrypt na moim blogu .
setup.py:
EDYTOWAĆ:
myfirstprog.py
umieszczać.py
nazwę pliku rozszerzenia utworzoną w kroku 4 ;import
paczkę w ed.py
dopackages
listy (nppackages = ["idna", "os","sys"]
)any name, any number, any description
wsetup.py
pliku nie powinien pozostać bez zmian, należy go odpowiednio zmienić (npname = "<first_ever>", version = "0.11", description = ''
)import
pakiety ed musi być zainstalowany przed rozpoczęciem krok 8 .źródło
from sklearn.externals import joblib
? jak wspomniano w edycji, krok 2.Python 3.6 jest obsługiwany przez PyInstaller.
Otwórz okno cmd w folderze Pythona (otwórz okno poleceń i użyj
cd
lub, przytrzymując klawisz Shift, kliknij je prawym przyciskiem myszy w Eksploratorze Windows i wybierz „Otwórz tutaj okno poleceń”). Następnie po prostu wejdźI to wszystko.
Najprostszym sposobem korzystania z niego jest wpisanie w wierszu polecenia
Aby uzyskać więcej informacji o tym, jak go używać, spójrz na to pytanie .
źródło
Jest to projekt open source o nazwie auto-py-to-exe na GitHub . W rzeczywistości używa również PyInstaller wewnętrznie, ale ponieważ ma prosty interfejs GUI, który kontroluje PyInstaller, może być wygodną alternatywą. W przeciwieństwie do innych rozwiązań może również wyprowadzić samodzielny plik. Udostępniają również wideo pokazujący, jak to skonfigurować.
GUI:
Wynik:
źródło
Nie mogę powiedzieć, co jest najlepsze, ale narzędziem, którego używałem z powodzeniem w przeszłości, było cx_Freeze . Niedawno zaktualizowali (7 stycznia 2017) do wersji 5.0.1 i obsługuje Python 3.6.
Oto pypi https://pypi.python.org/pypi/cx_Freeze
Z dokumentacji wynika, że w zależności od potrzeb można to zrobić na więcej niż jeden sposób. http://cx-freeze.readthedocs.io/en/latest/overview.html
Jeszcze tego nie wypróbowałem, więc wskażę post, w którym omówiono prosty sposób zrobienia tego. Jednak niektóre rzeczy mogły się zmienić lub nie.
Jak używać cx_freeze?
źródło
Używałem Nuitka i PyInstaller z moim pakietem PySimpleGUI.
Nuitka Wystąpiły problemy podczas kompilacji programu tkinter z programem Nuikta. Jeden z współautorów projektu opracował skrypt, który naprawił problem.
Jeśli nie używasz tkintera, to może „po prostu działać” dla Ciebie. Jeśli używasz tkintera, powiedz to, a postaram się, aby skrypt i instrukcje zostały opublikowane.
PyInstaller Używam 3.6 i PyInstaller działa świetnie! Polecenie, którego używam do tworzenia mojego pliku exe, to:
-WF utworzy pojedynczy plik EXE. Ponieważ wszystkie moje programy mają GUI i nie chcę wyświetlać okna poleceń, opcja -w ukryje okno poleceń.
Jest to tak blisko uzyskania do uruchomienia czegoś, co wygląda jak program Winforms, który został napisany w Pythonie.
[Aktualizacja 20 lipca 2019 r.]
Istnieje rozwiązanie oparte na graficznym interfejsie użytkownika PySimpleGUI, które wykorzystuje PyInstaller. Używa PySimpleGUI. Nazywa się pysimplegui-exemaker i można go zainstalować za pomocą pip.
pip install PySimpleGUI-exemaker
Aby go uruchomić po zainstalowaniu:
python -m pysimplegui-exemaker.pysimplegui-exemaker
źródło
Teraz możesz go przekonwertować za pomocą PyInstaller. Pracuję nawet z Pythonem 3.
Kroki:
pip install pyinstaller
pyinstall <filename>
źródło