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.
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):
which python3
where.exe python
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ś.sys.executable oraz sys.version — w module sys na docs.python.org.