Zacząłem uczyć się języka Python i jestem również nowym użytkownikiem Ubuntu. Muszę znać sposoby kompilacji .py
plików. Próbowałem z poleceniem
python "hello.py"
Jakie są inne sposoby kompilowania Pythona?
Dodając do odpowiedzi Bryana, jeśli chcesz po prostu skompilować plik lub kilka plików z terminala, py_compile
moduł można wykonać jako skrypt w następujący sposób:
python -m py_compile fileA.py fileB.py fileC.py ...
-O
flagę, jakpython -O -m py_compile …
, która „włączy podstawowe optymalizacje”. Usuwa głównieassert
instrukcje iif __debug__
kod, więc dla większości kodów nie ma to żadnego wpływu. Zobaczman python
i „Czym zajmuje się optymalizacja Python…”, aby uzyskać szczegółowe informacje.Pamiętaj również, że nie musisz kompilować
.py
pliku, aby go uruchomić. Python jest językiem interpretowanym i możesz uruchamiać skrypty bezpośrednio, używając:Lub
#!/usr/bin/env python
spraw, aby skrypt był wykonywalny, dodając go na górze skryptu, czyniąc plik wykonywalnym za pomocą,chmod +x hello.py
a następnie uruchamiając:Fakt, że Python kompiluje wewnętrznie
.py
skrypt do.pyc
plików kodu bajtowego ze względu na wydajność, jest szczegółem implementacji i jeśli nie masz ku temu silnego powodu, pozwól samemu pytonowi zdecydować, kiedy i czy skompilować.źródło
chmod +x
), w jaki sposób interpreter odczytuje skrypt?#!/path/to/interpreter
, jądro faktycznie wykonuje to, co tam zadeklarowano, przekazując ścieżkę skryptu jako argument. W moim przykładzie po uruchomieniu./hello.py
wykonuje się to, co jest faktycznie wykonywane/usr/bin/env python ./hello.py
. Zobacz en.wikipedia.org/wiki/Shebang_(Unix)chmod +x
przyznaje wykonanie i nie dotyka istniejących uprawnień, więc prawdopodobnie jest czytelny oprócz tego, że jest teraz wykonywalny.Sprawdź ten link Kompiluj w Pythonie
Na środku strony mówi o module py_compile, który można zaimportować. Składnia jest następująca:
Ta metoda kompilacji nie uruchomi modułu tak samo jak uruchomienie pliku pyt.py.py.
Istnieje również metoda, która kompiluje całe drzewo katalogów, ale pozwolę ci sprawdzić link, aby zobaczyć, jak to się wykonuje.
Mam nadzieję że to pomoże.
źródło
Możesz także spróbować
compileall
:źródło
Możesz skompilować skrypty Pythona do kodu binarnego przy użyciu różnych metod, ale odkryłem, że używanie Nuitka jest bardziej wydajne.
Nuitka to kompilator Pythona na C ++, który obsługuje prawie wszystkie wersje Pythona.
Składnia polecenia jest tak prosta, jak
Idź do http://nuitka.net/doc/user-manual.html, aby uzyskać więcej informacji.
źródło