Znalezienie odpowiedzi tutaj, w Internecie oraz w dokumentacji Pythona i samodzielne testowanie wymagało trochę wysiłku, aby wreszcie sprawić, by moje skrypty Pythona działały płynnie na moich komputerach z systemem Windows (WinXP i Win7). Właśnie napisałem o tym na blogu i wklejam to poniżej na wypadek, gdyby było to przydatne dla innych. Przepraszam, że trwa długo i nie krępuj się go ulepszyć; Nie jestem ekspertem.
[ AKTUALIZACJA : Python 3.3 zawiera teraz Python Launcher for Windows, który pozwala na wpisanie py (zamiast python) w celu wywołania domyślnego interpretera lub py -2, py -3, py -2.7 itd. Obsługuje również linie shebang , pozwalając samemu skryptowi na określenie. W przypadku wersji wcześniejszych niż 3.3 program uruchamiający jest dostępny jako osobny plik do pobrania.
http://docs.python.org/3/whatsnew/3.3.html
]
Wygodne uruchamianie skryptów Pythona w systemie Windows
Może tworzysz własne skrypty w Pythonie, a może ktoś dał ci jeden za zrobienie czegoś z twoimi plikami danych. Załóżmy, że nabyłeś skrypt Pythona i zapisałeś go w „D: \ moje skrypty \ ApplyRE.py”. Chcesz go wygodnie uruchomić, klikając go dwukrotnie lub wpisując w wierszu poleceń z dowolnego miejsca, z opcją przekazywania do niego parametrów w ten sposób (-o oznacza „nadpisz plik wyjściowy, jeśli już istnieje”):
ApplyRE infile.txt outfile.txt -o
Załóżmy, że masz również plik danych „C: \ niektóre pliki \ jakiś lexicon.txt”. Najprostszą opcją jest przeniesienie pliku lub skryptu tak, aby znajdowały się w tej samej lokalizacji, ale może to spowodować bałagan, więc załóżmy, że pozostaną oddzielne.
Upewnienie się, że system Windows może znaleźć interpreter języka Python
Po zainstalowaniu Pythona sprawdź, czy wpisanie pythona w wierszu poleceń działa (a następnie wpisz exit (), aby wyjść z interpretera Pythona).
C:\>python
Python 3.2 (r32:88445, Feb 20 2011, 21:29:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
C:\>
Jeśli to nie zadziała, musisz dodać coś takiego jak „; C: \ Python32” (bez cudzysłowów) do zmiennej środowiskowej PATH. Zobacz PATHEXT poniżej, aby uzyskać instrukcje.
Kojarzenie Pythona z .py i .pyc
Sprawdź, czy dwukrotne kliknięcie ApplyRE.py uruchamia go. (Powinien również mieć logo Pythona jako ikonę i przy okazji być oznaczony jako „Plik Pythona”). Jeśli nie jest to jeszcze zrobione, kliknij prawym przyciskiem myszy plik .py, wybierz Otwórz za pomocą, Wybierz program i zaznacz „Zawsze używaj ...” To skojarzenie zwiększa wygodę, ale nie jest bezwzględnie konieczne - możesz określić „python” za każdym razem, gdy chcesz uruchomić skrypt, na przykład:
D:\my scripts>python ApplyRE.py lexicon-sample.txt -o
Running... Done.
Oto bardzo specyficzna odmiana, która jest opcjonalna, chyba że musisz określić inną wersję tłumacza.
D:\my scripts>c:\python32\python ApplyRE.py lexicon-sample.txt -o
Running... Done.
Ale to jest ból. Na szczęście po zainstalowaniu Pythona w PATH i skojarzeniu z .py dwukrotne kliknięcie pliku .py lub bezpośrednie wpisanie go jako polecenia powinno działać dobrze. Tutaj wydaje się, że uruchamiamy skrypt bezpośrednio - przyjemnie i łatwo jest uruchomić go na przykładowym pliku, który znajduje się w folderze „moje skrypty” razem ze skryptem.
D:\my scripts>ApplyRE.py lexicon-sample.txt -o
Running... Done.
Pominięcie rozszerzenia .py (edycja PATHEXT)
Aby jeszcze bardziej ograniczyć pisanie, możesz powiedzieć systemowi Windows, że pliki .py (i być może pliki .pyc) są plikami wykonywalnymi. Aby to zrobić, kliknij prawym przyciskiem myszy Komputer i wybierz Właściwości, Zaawansowane, Zmienne środowiskowe, Zmienne systemowe. Dołącz „; .PY; .PYC” (bez cudzysłowów) do istniejącej zmiennej PATHEXT lub utwórz ją, jeśli masz pewność, że jeszcze nie istnieje. Zamknij i ponownie otwórz wiersz polecenia. Powinieneś teraz móc pominąć plik .py (FYI, spowodowałoby to uruchomienie ApplyRE.exe lub ApplyRE.bat, jeśli taki istnieje).
D:\my scripts>ApplyRE lexicon-sample.txt -o
Running... Done.
Dodawanie skryptów do systemu PATH
Jeśli zamierzasz często używać swoich skryptów z wiersza poleceń (jest to mniej ważne, jeśli robisz to za pomocą plików BAT), wtedy będziesz chciał dodać folder skryptów do systemowej PATH. (Obok PATHEXT powinieneś zobaczyć zmienną PATH; dołącz do niej "; D: \ moje skrypty", bez cudzysłowów.) W ten sposób możesz uruchomić skrypt z innej lokalizacji na plikach w bieżącej lokalizacji, na przykład:
C:\some files>ApplyRE "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
Sukces! To prawie wszystko, co musisz zrobić, aby usprawnić wiersz poleceń.
Działa bezpośrednio bez podkręcania PATH
Jeśli jesteś szybkim maszynistą lub nie masz nic przeciwko tworzeniu pliku wsadowego dla każdej sytuacji, możesz określić pełne ścieżki (dla skryptu lub parametrów) zamiast poprawiania PATH.
C:\some files>"d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
Running... Done.
C:\some files>d:
D:\>cd "my scripts"
D:\my scripts>ApplyRE.py "c:\some files\some lexicon.txt" "c:\some files\some lexicon OUT.txt" -o
Running... Done.
Tworzenie skrótów lub plików wsadowych
Jeśli .py jest skojarzony z zainstalowanym Pythonem, możesz po prostu dwukrotnie kliknąć ApplyRE.py, aby go uruchomić, ale konsola może pojawić się i zniknąć zbyt szybko, aby odczytać jej wyjście (lub błąd!). Aby przekazać parametry, musisz najpierw wykonać jedną z następujących czynności. (a) Kliknij prawym przyciskiem myszy i utwórz skrót. Kliknij prawym przyciskiem myszy skrót, aby edytować właściwości i dołączyć parametry do elementu docelowego. (b) Utwórz plik wsadowy - zwykły plik tekstowy o odrębnej nazwie, na przykład ApplyRErun.bat. Ta opcja jest prawdopodobnie lepsza, ponieważ możesz poprosić ją o wstrzymanie, abyś mógł zobaczyć wynik. Oto przykładowa zawartość pliku BAT, napisana w celu zlokalizowania i uruchomienia z c: \ niektórych plików.
python "d:\my scripts\ApplyRE.py" "some lexicon.txt" "some lexicon OUT.txt" -o
pause
Zaawansowane: dołączanie do PYTHONPATH
Zwykle nie jest to konieczne, ale inną zmienną środowiskową, która może mieć znaczenie, jest PYTHONPATH. Gdybyśmy dodali d: \ moje skrypty do tej zmiennej, wówczas inne skrypty Pythona w innych lokalizacjach mogłyby z nich skorzystać za pośrednictwem instrukcji importu.