2012-09-04 227 views
30

我有一個文件example_file.py,我想用這個example_file.py來自各種文件,所以我決定將example_file.pysys.path和進口在另一個文件中該文件使用的功能文件。 我打開ipython並做了以下添加文件路徑在Python的sys.path

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

,當我試圖從另一個目錄路徑導入此文件像

import example_file 

其工作正常,但之後我就出來了IPython中的我再次進入在這裏,並檢查了sys.path,這裏我添加的路徑不存在,所以任何人都可以請讓我知道如何在python中永久添加sys.path的路徑

+2

使你的代碼成爲一個合適的包,使其易於安裝,併爲你的餘生(而不是修補)感到高興。除此之外:每個文檔都清楚地告訴你:'sys.path.append()'接受一個包含文件的目錄,而不是單個文件到一個文件。 –

+0

可能重複的[永久添加文件夾到Python的路徑](http://stackoverflow.com/questions/3722248/adding-folder-to-pythons-path-permanently) – DhruvPathak

+0

ki添加了一個目錄,其中包含我的文件,但如何在sys.path中使該路徑成爲永久物 –

回答

32

有幾種方法。其中最簡單的就是創建一個my-paths.pth文件(如here所述)。這只是一個擴展名爲.pth的文件,您將其放入系統site-packages目錄。在文件的每一行上放一個目錄名,這樣你可以在那裏放一行/path/to/the/,它會將該目錄添加到路徑中。

您也可以使用PYTHONPATH環境變量,它與系統PATH變量類似,但包含將被添加到sys.path的目錄。見the documentation

請注意,無論你做什麼,sys.path包含目錄不是文件。你不能「添加文件到sys.path」。你總是添加它的目錄,然後你可以導入文件。

+0

好的,謝謝多數民衆贊成我罰款我已經添加了我的目錄,其中包括文件及其工作時,我從另一個位置導入文件,BU問題時我出來ipython,再次looed檢查我的路徑,它不會出現,我不想每次進入代碼時都這樣做,我想將目錄路徑添加到sys.path permanatly,如何做這個 –

+0

@Kouripm:你的評論表明你沒有真正遵循我的建議,也沒有在上面鏈接的重複帖子中的建議。 – BrenBarn

+0

'site'包是完美的。 –