進一步了解pip

2022-06-19 06:39:10 字數 1774 閱讀 2675

在python中,安裝第三方模組,是通過包管理工具pip完成的。

當我們試圖載入乙個模組時,python會在指定的路徑下搜尋對應的.py檔案,如果找不到,就會報錯。

預設情況下,python直譯器會搜尋當前目錄、所有已安裝的內建模組和第三方模組,搜尋路徑存放在sys模組的path變數中:

>>> import sys

>>> sys.path

[ '/home/username/downloads',

'/home/username/anaconda3/lib/python38.zip',

'/home/username/anaconda3/lib/python3.8',

'/home/username/anaconda3/lib/python3.8/lib-dynload',

'/home/username/anaconda3/lib/python3.8/site-packages',

]

如果我們要新增自己的搜尋目錄,有兩種方法:

>>> import sys
這種方法是在執行時修改,執行結束後失效。

echo $pythonpath

export pythonpath=~/pyutil:"$pythonpath"

注意此方法只在當前命令視窗生效,只需要新增你自己的搜尋路徑,python自己本身的搜尋路徑不受影響。

可以將此命令新增到~/.bashrc檔案中,這樣每次啟動終端pythonpath都已經被修改了。

從python2.6開始支援「使用者安裝方案」,這意味著所有的python發行版支援為特定使用者設定乙個替代的包安裝位置。對於不同作業系統的預設使用者安裝位置可以通過site.user_base變數檢視:

python -m site [--user-base] [--user-site]
如果不加後面的可選引數,將會輸出所有sys.path,user_base,user_site變數的值,並顯示對應的目錄是否存在。

對linux系統,預設的使用者安裝目錄在~/.local。當然你也可用通過修改userpythonbase變數的值來修改使用者安裝位置。

然後在使用pip安裝包時加上--user選項,就可以將包安裝到自己指定的目錄了。

pip install --user somepackage
注意這種安裝方法遵循如下規則:

安裝包儲存在同一目錄下如dir,然後執行命令:

pip install --no-index --find-links=dir packagename
解釋一下兩個選項,--find-links指定乙個鏈結或者路徑,解析器會到指定的地方去找安裝檔案,--no-index讓pip忽略package index,只到--find-links指定的鏈結內去找。

pip install --find-links=dir packagename
這樣pip還是會聯網查詢其他包,尤其是所需的依賴包,就不用自己考慮依賴問題了。

安裝第三方模組

user guide of pip

進一步了解Makefile

mkdir p add src 一層一層建立目錄。touch add makefile 建立 makefile include 目錄中存放標頭檔案。scripts 存放指令碼檔案。存放方式 按照核心管理原始碼來管理。為什麼學習makefile?編譯大型專案 讀懂別人的開源 找到程式入口 看專案的順序...

進一步了解Spring Cloud

spring cloud是 系列框架的有序集合。它利 spring boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊 配置中 訊息匯流排 負載均衡 斷路器 資料監控等,都可以 spring boot的開發 格做到 鍵啟動和部署。spring cloud並沒有重複製造輪 它只是...

進一步了解並行LINQ

linq language integrated query 是visual studio 2008中的領軍人物。借助於linq技術,我們可以使用一種類似sql的語法來查詢任何形式的資料。目前為止linq所支援的資料來源有sql server xml以及記憶體中的資料集合。開發人員也可以使用其提供的...