本文目錄一覽:
- 1、如何添加Python的模塊搜索路徑
- 2、如何設置python模塊的默認搜索路徑?
- 3、python 模塊的路徑搜索方法?
- 4、怎樣在Linux環境下改變python的模塊路徑
- 5、如何設置python模塊的默認搜索路徑
如何添加Python的模塊搜索路徑
方法一:函數添加
1 import sys
2 查看sys.path
3 添加sys.path.append(“c:\\”)
方法二:修改環境變數
w用戶可以修改系統環境變數PYTHONPATH
方法三:增加.pth文件,推薦!
在site-packages添加一個路徑文件,如mypkpath.pth,必須以.pth為後綴,寫上你要加入的模塊文件所在的目錄名稱就是了。
1 windows
c:\python27\site-packages
# 我們的學員把pth文件直接放在c:\python27
# (或其他python安裝目錄)目錄下測試也是有效的
# 2015.9.23
2 linux(ubuntu)
/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在這個目錄下有效的,所添加的目錄一定要存在,不存在則會不成功)
2 linux(redhat)
/usr/lib/python2.7/site-packages
如何設置python模塊的默認搜索路徑?
Python 的模塊搜索路徑 PYTHONPATH 類似 Java 的 CLASSPATH
由以下路徑組合而成,通過更改以下 4 者其中之一都可以改變 Python 模塊的默認搜索路徑:
1. 當前工作目錄
2. 操作系統的 PYTHONPATH 環境變數
3. Python 安裝目錄 lib/site-packages 中或 PYTHONPATH 中的 .pth 文件定義的路徑
如:find ~/my_lib -type d -print ~/python2.6/site-packages/my_lib.pth
4. 運行時對 sys.path 的改變,如:
向後增加:
sys.path.append(path)
path 不要以 / 或 \ 結尾。
向前增加:
sys.path.insert(0, path)
python 模塊的路徑搜索方法?
導入一個叫 spam 的模塊時,解釋器先在當前目錄中搜索名為 spam.py 的文件。如果沒有找到的話,接著會到 sys.path 變數中給出的目錄列表中查找。 sys.path 變數的初始值來自如下:
輸入腳本的目錄(當前目錄)。
環境變數 PYTHONPATH 表示的目錄列表中搜索
(這和 shell 變數 PATH 具有一樣的語法,即一系列目錄名的列表)。
Python 默認安裝路徑中搜索。
Note
在支持符號鏈接的文件系統中,輸入的腳本所在的目錄是符號鏈接指向的目錄。 換句話說也就是包含符號鏈接的目錄不會被加到目錄搜索路徑中。
實際上,解釋器由 sys.path 變數指定的路徑目錄搜索模塊,該變數初始化時默認包含了輸入腳本(或者當前目錄), PYTHONPATH 和安裝目錄。這樣就允許 Python 程序了解如何修改或替換模塊搜索目錄。需要注意的是由於這些目錄中包含有搜索路徑中運行的腳本,所以這些腳本不應該和標準模塊重名,否則在導入模塊時 Python 會嘗試把這些腳本當作模塊來載入。這通常會引發錯誤。
怎樣在Linux環境下改變python的模塊路徑
在實際使用中,很多人都適用virtualenv的;pip
install
virtualenv
然後在某個文件夾
virtualenv
path
使用的時候:source
path/bin/activate就改變了python模塊的路徑到path/lib下
仔細讀讀那個activate腳本好了。其實主要就是改變了pythonpath。
如何設置python模塊的默認搜索路徑
當導入名為spam的模塊時,解釋器將在當前目錄中搜索名為spam.py的文件,然後在環境變數PYTHONPATH指定的目錄列表中搜索。這與shell變數PATH具有相同的語法,即目錄名稱列表。當沒有設置PYTHONPATH時,或者當沒有找到文件時,搜索將繼續依賴於與安裝相關的默認路徑;在Unix上,這通常是:/ usr / local / lib / python。
實際上,在由包含輸入腳本(或當前目錄)的目錄PYTHONPATH和與安裝相關的默認值的目錄中初始化的變數sys.path給出的目錄列表中搜索模塊。這允許Python程序知道他們正在做什麼來修改或替換模塊搜索路徑。請注意,因為包含正在運行的腳本的目錄位於搜索路徑上,因此該腳本與標準模塊不具有相同的名稱非常重要,否則當導入該模塊時,Python將嘗試將該腳本作為模塊載入。這通常是一個錯誤。有關詳細信息,請參見第6.2節「標準模塊」。
原創文章,作者:HNUVF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331115.html