2009-09-16 18 views
43

Jak mogę skompilować i uruchomić plik Pythona (rozszerzenie * .py)?Kompilowanie Pythona

+17

dlaczego spadki? Wydaje się, że jest to całkowicie poprawne pytanie dla osoby, która nie jest obca pythonowi. – Glen

+7

szczególnie pochodząca z C, C++, Java, itd. – geowa4

+4

-1: Proszę sprawdź samouczek w Pythonie przed pytaniem tutaj. http://docs.python.org/tutorial/ –

Odpowiedz

27

python yourfile.py

trzeba mieć zainstalowany python pierwszy. Automatycznie skompiluje plik do pliku binarnego .pyc, a następnie uruchomi go za Ciebie. Automatycznie przekompiluje się po każdej zmianie pliku.

http://www.python.org/download/

+1

Nie są plikami binarnymi plików .pyc – Will03uk

+1

Tak. Są one kodami bajtowymi i binarnymi, chociaż nie są "binariami" w tradycyjnym sensie "system może je po prostu uruchomić". –

15

Python kompiluje swoje pliki do kodu bajtowego przed ich wykonaniem. Oznacza to, że musisz mieć zainstalowany interpreter Pythona na maszynie docelowej.

Jeśli nie chcesz instalować Pythona na maszynie docelowej, użyj py2exe, py2app lub coś podobnego.

+0

@gs: powinieneś odesłać go do strony Python http://docs.python.org/tutorial zamiast mówić o py2exe i py2app –

+5

@Helen Neely, czasami dobrze jest szybko uzyskać konkretną odpowiedź, zamiast przeszukiwać pracowity samouczek. Obecnie sieć 3 osób uznała to pytanie za przydatne; To powinno ci coś mówić. –

5

Aby dodać do Paul McMillan's answer, jeśli jesteś na Windows i masz zainstalowany Python, a następnie wszystkie pliki kończące się rozszerzeniem „.py” powinien być związany z python wykonywalnego, pozwala uruchomić go tak:

> myfile.py 

W * nix, można rozpocząć plik z #!/usr/bin/python i uruchomić go tak:

$ ./myfile.py 

W systemów uniksowych, jeśli dwa pierwsze znaki z pliku są #! to będzie wykonać fil e z określonym plikiem wykonywalnym, który ustawię tutaj na /usr/bin/python.

+1

W systemie Windows lubię też dodawać .py do zmiennej środowiskowej PATHEXT, dzięki czemu pliki wykonywalne .py są podobne do plików .exe (tj. Bez wpisywania rozszerzenia). Nadal potrzebujesz zainstalować Python. –

+0

Ah! Musisz zrobić "chmod u + x * .pyc", aby dać użytkownikowi uprawnienia do wykonywania ** i ** musi to być plik .pyc. Następnie możesz zrobić './Program.pyc' – dylnmc

+0

Dowiedziałem się, że możesz to zrobić dla rozszerzeń py i pyc. Interpreter (w prawie wszystkich przypadkach) korzysta z interpretera pythona, aby to zrobić. – dylnmc

1

W większości systemów uniksopodobnych, możesz użyć programu shebang, aby poinformować system operacyjny, z którym tłumaczem powinien się połączyć. Wystarczy umieścić

#!/path/to/python 

w pierwszym wierszu pliku, gdzie oczywiście trzeba wymienić „/ path/to /” ze ścieżką masz w systemie. W większości przypadków będzie to "/ usr/bin/python" lub "/ usr/local/bin/python". W systemach UNIX można też spojrzeć na ścieżce z

"#!usr/bin/env python" 

lub wywołać komendę

which python 

aby znaleźć drogę. Następnie można uruchomić program za pomocą polecenia

./yourprogram.py 

Jeśli mówi ci, że nie masz uprawnień, aby to zrobić, trzeba użyć polecenia

chmod a+x yourprogram.py 
3

Jeśli chcesz przekształcić Python plik źródłowy do podwójnie klikalny .exe w systemie Windows, można użyć py2exe, które mogą pomóc w budowaniu łatwego do dystrybucji pakietu.

+0

Działa to tylko z pythonem 2. – starbeamrainbowlabs

8

Python jest językiem interpretowanym, więc nie trzeba go kompilować; po prostu go uruchomić. Tak się składa, że ​​standardowa wersja Pythona skompiluje to do "kodu bajtowego", tak jak robi to Java itp. I zapisze to (w plikach .pyc) i uruchomi go następnym razem, oszczędzając czas, jeśli nie zaktualizowałeś plik od. Jeśli zaktualizowałeś plik, zostanie on automatycznie przekompilowany.

Możesz także uruchomić pythona z flagą -O, która wygeneruje pliki .pyo zamiast .pyc. Nie jestem pewien, czy to robi dużą różnicę. Jeśli prędkość jest ważna, użyj psyco.

I tak, na Unixie (w tym Linux, BSD i Mac OS X lub w powłoce unixowej na Windows) możesz użyć linii shebang na górze pliku, aby plik był automatycznie uruchamiany przy pomocy Pythona. W systemie Windows odpowiednikiem jest powiązanie plików .py z python.exe, a następnie upewnienie się, że zmienna środowiskowa PATHEXT zawiera rozszerzenia ".PY".

Jednak dla Windows najprawdopodobniej zechcesz napisać program GUI w pythonie (prawdopodobnie przy użyciu PyQT4 i ERIC4), który ma plik .pyw jako główny skrypt, i ma .pyw powiązany z pythonw (który jest dostarczany z pythonem) w oknach). Umożliwi to uruchamianie skryptów Pythona w oknach, podobnie jak w innych programach GUI. W przypadku publikowania i dystrybucji prawdopodobnie będziesz chciał skompilować plik wykonywalny używając czegoś takiego jak py2exe, o czym inni wspomnieli.

+1

Język nie jest interpretowany, implementacja jest – Will03uk

10

Jeśli chcesz tylko skompilować źródła, bez nich działa, można to zrobić

compileall.py <directory> 

ta komenda kompilacji kodu Pythona w tym katalogu rekurencyjnie

compileall skrypt zazwyczaj znajduje się w katalogu jak

/usr/local/lib/python2.6 

tj <prefix>/lib/python2.6 (lub podobne, w zależności od przedrostków ustawić konfigurację python)

Zgodnie z sugestią Lulu, należy upewnić się, że pliki .pyc i .pyo są wykonywalne dla użytkowników, na których Ci zależy.

compileall może być również używany jako moduł

import compileall 
compileall.compile_dir(path) 
0

Odbierz dla Windows

  1. najpierw trzeba zainstalować Python
  2. następnie ustawić zmienną path
  3. potem napisać Pythona programowanie i zapisywanie
  4. , że istnieje program python, że nazwa "hello.py"
  5. otwarty cmd.exe
  6. następnie goto ścieżki zapisany swój "hello.py" plik,
  7. a następnie wpisz python hello.py i naciśnij klawisz wprowadź klucz.

teraz kod Pythona jest automatycznie kompilowany i pokazuje wynik.

+3

krok 0. Włącz komputer i zaloguj się do systemu Windows .. –