Rozdział 2 · Ustaw Python!

Który Python tak naprawdę się rozbiega

To samo pytanie uchroni cię przed połową przyszłych problemów środowiskowych: „Który tłumacz obecnie pracuje?”

Jeśli komputer może mieć wiele Python (system + zainstalowany przez Ciebie i późniejsze wirtualne środowiska), prędzej czy później pojawia się pytanie: który Python obecnie jest zarządzany przez python? Dobra wiadomość — sam Python potrafi odpowiedzieć na to pytanie.

sys.executable jest najbardziej szczerą odpowiedzią

Każdy działający interpreter Python zna dokładną ścieżkę do swojej własnej pliku wykonywalnego. Jest przechowywany w sys.executable.

python
import sys
print(sys.executable)
print(sys.version)

Przeprowadź to na dwa sposoby i porównaj wynik – z normalnego terminala i (gdy Przejdźmy do VS Code, sekcja 2.8) z wbudowanego terminala edytora. Jeśli ścieżki są różne — Oznacza to, że w tych dwóch miejscach różne tłumaczy, i to wiele wyjaśnia, jeśli pakiet jest „zainstalowany”

which / where – skrócona wersja z terminala

Nie uruchamiając Python wcale, można zapytać samego shell, który plik znajdzie jako pierwszy według PATH (przypomnijmy rozdział 2.2):

macOS / Linux
which python3
Windows (PowerShell)
where.exe python
Laboratorium: „dwa Python”
Jeśli Twój komputer ma zarówno system Python, jak i Python z python.org, uruchom which python3 (lub where.exe python) i porównaj ścieżkę z tym, co się drukuje sys.executable od środka Python. Muszą się zgadzać – jeśli nie, to nie chodzi zmienna PATH o tłumacza, którego się spodziewałeś.
Oficjalne źródło
Więcej o sys.executable oraz sys.version — w module sys na docs.python.org.