2012-09-04 17 views
30

miałem plik example_file.py, chcę skorzystać z tej example_file.py różnych plików, więc postanowiłem dodać example_file.py do sys.path i importowania tego pliku w innym pliku za pomocą funkcjonalności plik. miałem otwarte ipython i sporządzono następującedodając ścieżkę do sys.path w Pythonie

import sys 
sys.path 
sys.path.append('/path/to/the/example_file.py') 

A kiedy próbowałem zaimportować ten plik z inną ścieżkę katalogu jak

import example_file 

jego pracy w porządku, ale po tym, jak wyszedł z ipython i ponownie wszedł do tego i sprawdził sys.path, tutaj ścieżka, którą dodałem nie jest obecny, więc może ktoś proszę daj mi znać, jak trwale dodać ścieżkę do sys.path w pythonie

+2

Uczyń swój kod odpowiednim pakietem, ułatw i zainstaluj go i ciesz się resztą życia (zamiast majsterkowania). Poza tym: każda dokumentacja mówi CZYŚCIE, że 'sys.path.append()' akceptuje katalog zawierający plik ORAZ NIE POJEDYNĄ ścieżkę do pliku. –

+0

możliwy duplikat [Dodawanie folderu do ścieżki Pythona na stałe] (http://stackoverflow.com/questions/3722248/adding-folder-to-pythons-path-pentently) – DhruvPathak

+0

ki dodały katalog, który zawiera mój plik, ale jak to zrobić uczyń tę ścieżkę stałą w sys.path –

Odpowiedz

32

Istnieje kilka sposobów. Jednym z najprostszych jest utworzenie pliku my-paths.pth (zgodnie z opisem here). To jest tylko plik z rozszerzeniem .pth, który umieścisz w katalogu systemu site-packages. W każdym wierszu pliku umieszczasz jedną nazwę katalogu, więc możesz umieścić tam linię z /path/to/the/ i doda ten katalog do ścieżki.

Można również użyć zmiennej środowiskowej PYTHONPATH, która jest podobna do zmiennej PATH systemu, ale zawiera katalogi, które zostaną dodane do sys.path. Zobacz the documentation.

Pamiętaj, że niezależnie od tego, co robisz, sys.path zawiera katalogów nie plików. Nie można "dodać pliku do sys.path". Zawsze dodajesz jego katalog, a następnie możesz zaimportować plik.

+0

ok, dzięki, w porządku, dodałem mój katalog, który składa się z pliku i działa, gdy zaimportowałem plik z innej lokalizacji, bu problem, gdy Wyszedłem z ipython i ponownie looed w celu sprawdzenia mojej ścieżki, to nie pojawia się, nie chcę robić to za każdym razem, kiedy wszedłem kod, chcę dodać ścieżkę do katalogu sys.path na stałe, jak zrób to: –

+0

@Kouripm: Twój komentarz sugeruje, że nie podążyłeś za moją sugestią, ani sugestie w duplikacie postu połączonym powyżej. – BrenBarn

+0

Pakiet 'site' był doskonały. –

Powiązane problemy