為Python新增預設模組搜尋路徑

2021-06-26 22:12:40 字數 1235 閱讀 7741

(1) 在linux下面:在dist-packages(即/usr/local/lib/python2.6/dist-packages)新增乙個路徑檔案,如mypkpath.pth,必須以.pth為字尾,寫上你要加入的檔名稱就是了,如我的:

/home/tony/tst-python

儲存退出,ok!結果自己驗證,重啟terminal,再次開啟python,

(2)在windows下面

模組的搜尋路徑都放在了sys.path列表中,如果預設的sys.path中沒有含有自己的模組或包的路徑,可以動態的加入(sys.path.apend)即可。下面是sys.path在windows平台下的新增規則。

1、sys.path第乙個路徑往往是主模組所在的目錄。在互動環境下新增乙個空項,它對應當前目錄。

2、如果pythonpath環境變數存在,sys.path會載入此變數指定的目錄。

3、我們嘗試找到python home,如果設定了pythonhome環境變數,我們認為這就是python home,否則,我們使用python.exe所在目錄找到lib\os.py去推斷python home。

如果我們確實找到了python home,則相關的子目錄(lib、plat-win、lib-tk等)將以python home為基礎加入到sys.path,並匯入(執行)lib/site.py,將site-specific目錄及其下的包加入。

如果我們沒有找到python home,則把登錄檔software\python\pythoncore\2.5\pythonpath的項加入sys.path(hklm和 hkcu合併後加入),但相關的子目錄不會自動新增的。

4、如果我們沒有找到python home,並且沒有pythonpath環境變數,並且不能在登錄檔中找到pythonpath,那麼預設相對路徑將加入(如:.\lib;.\plat-win等)。

總結如下

當在安裝好的主目錄中執行python.exe時,首先推斷python home,如果找到了pythonhome,登錄檔中的pythonpath將被忽略;否則將登錄檔的pythonpath加入。

如果pythonpath環境變數存在,sys.path肯定會載入此變數指定的目錄。

如果python.exe在另外的乙個目錄下(不同的目錄,比如通過com嵌入到其他程式),python home將不推斷,此時登錄檔的pythonpath將被使用。

如果python.exe不能發現他的主目錄(pythonhome),並且登錄檔也沒有pythonpath,則將加入預設的相對目錄。

為Python新增預設模組搜尋路徑

原文出處 以下是另一篇文章 上網找了很多久未果,都來我自己糊里糊塗找到了解決方法,那就是在dist packages 即 usr local lib python2.7 dist packages 新增乙個路徑檔案,如mypkpath.pth,必須以.pth為字尾,寫上你要加入的檔名稱就是了,如我的...

python新增模組搜尋路徑

方法一 新建pt 件 在任意搜尋路徑下新建pt 件 檢視搜尋路徑 import sys print sys.path pt 件內容為被新增模組的所在路徑。示例 f python ml deepidentify 注意 通過pt 件新增的搜尋路徑下的pt 件不起作用,也就是不能套娃 方法二 新建使用者環...

解決Python預設的模組搜尋路徑問題

在安裝jupyter lab的時候遇到的一些問題,總結一下解決思路 jupyter lab jupyter lab這個庫,我面臨的不是安裝上的問題,這個網路上有很多的解決辦法,可以具體問題具體分析 我面臨的問題主要是安裝成功後無法正常使用,在可以開啟http localhost 8888 lab 的...