Miałem plik o nazwie example_file.py
, która chciałem użyć z różnych innych plików, więc postanowiłem dodać example_file.py
do sys.path
i importować ten plik w innym pliku, aby użyć pliku. Aby to zrobić, uruchomiłem w IPythonie następujące polecenie.
import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)
Widziałem ścieżkę, którą właśnie dodałem, i kiedy próbowałem zaimportować ten plik z innej ścieżki katalogu, na przykład:
import example_file
działało dobrze, ale kiedy wyszedłem z IPythona, wszedłem do niego ponownie i sprawdziłem sys.path
, zobaczyłem, że dodana przeze mnie ścieżka nie jest obecna, więc jak mogę na stałe dodać ścieżkę do sys.path w Pythonie?
sys.path.append()
akceptuje katalog zawierający plik ORAZ NIE JEDNĄ ŚCIEŻKĘ DO PLIKU.PYTHONPATH
.Odpowiedzi:
Sposobów jest kilka. Jednym z najprostszych jest utworzenie
my-paths.pth
pliku (jak opisano tutaj ). To jest tylko plik z rozszerzeniem.pth
, które umieścisz wsite-packages
katalogu systemowym . W każdym wierszu pliku umieszczasz jedną nazwę katalogu, więc możesz wstawić tam linię/path/to/the/
, która doda ten katalog do ścieżki.Możesz również użyć zmiennej środowiskowej PYTHONPATH, która jest podobna do zmiennej systemowej PATH, ale zawiera katalogi, do których zostaną dodane
sys.path
. Zobacz dokumentację .Pamiętaj, że bez względu na to, co robisz,
sys.path
zawiera katalogi, a nie pliki. Nie możesz „dodać pliku dosys.path
”. Zawsze dodajesz jego katalog, a następnie możesz zaimportować plik.źródło
site
Pakiet był doskonały.sys.path.append('C:\\python34\\lib\\site-packages')
podziękowaniem!.pth
plik jest tym, co dokumentacja modułu lokacji nazywa apath configuration file
. Uwaga dotycząca pliku konfiguracyjnego ścieżki:no check is made that the item refers to a directory rather than a file. No item is added to sys.path more than once. Blank lines and lines beginning with # are skipped. Lines starting with import (followed by space or tab) are executed.
Ten sposób zadziałał dla mnie:
dodanie ścieżki, którą lubisz:
sprawdzanie: możesz uruchomić 'eksport' cmd i sprawdzić wyjście lub możesz to sprawdzić za pomocą tego cmd:
python -c "import sys; print(sys.path)"
źródło