在k8s集群中,為了更好的檔案管理,所以並不是所有目錄都是支援持久化的. 而pip預設的安裝目錄是不能持久化的.
這樣就出現了乙個問題:經常需要pip安裝一些包,希望這些包是持久化的.
我們能不能以一種簡單便捷的方式,支援將pip包安裝到持久化目錄,以實現pip安裝持久化的目的?
編號方案
優點缺點
1pip install transforms3d --target=/home/work/workspace/
或者pip install transforms3d -t /home/work/workspace/
pip命令支援,直觀
1, 每次安裝都需要指定目錄,容易出錯
2, 不支援pip uninstall transforms3d和pip show transforms3d.解除安裝時,需要手動刪除檔案
3, 需要使用者額外輸入
2優化方案1,使用環境變數
export pip_target=/home/work/workspace/
pip install transforms3d
使用者無感知
1, 不支援pip uninstall transforms3d和pip show transforms3d.解除安裝時,需要手動刪除檔案
3修改python的base目錄
export pythonuserbase=/home/work/workspace/
pip install transforms3d --user
pip uninstall transforms3d
可以統一管理安裝目錄
1, 需要使用者額外輸入
4pip.conf
1,vim /home/work/pip.config
輸入[install] install-option=--install-lib=/home/work/workspace
2, export pip_config_file=/home/work/pip.config
安裝 pip install transforms3d
可以統一管理安裝目錄
1, 不支援pip uninstall transforms3d和pip show transforms3d.解除安裝時,需要手動刪除檔案
2,測試階段發現,安裝一些包時,有許可權問題,報錯
5pip.conf+ python path
1, export pythonpath=/home/work/workspace1
export pip_config_file=/home/work/pip.config
2, vim /home/work/pip.config
輸入[global]
target=/home/work/workspace1
安裝 pip install transforms3d
解除安裝 pip uninstall transforms3d
使用者無感知
可以統一管理安裝目錄
1, 支援pip uninstall transforms3d和pip show transforms3d
個人認為:
方案1,適合個別包指定安裝目錄,持久化的場景;
方案2,3, 並不易用;
方案4,本以為是很合適的方案,但是可以在測試的時候,發現安裝一些包會報錯(和測試的工作場景有關,有不同的使用者).直接否決;
方案5,適合大部分包都安裝到指定目錄,持久化的場景;
參考文章
redis不能安裝到指定目錄
redis在linux上的安裝 1 安裝redis編譯的c環境,yum install gcc c 2 將redis 5.0.4.tar.gz上傳到linux系統中 3 解壓到 usr local下 tar xvf redis 5.0.4.tar.gz c usr local 4 進入redis 5...
Mac安裝homebrew安裝到指定目錄
第一種直接安裝在 usr local目錄下 mac 開啟終端輸入 ruby e curl fssl 第二種安裝到 usr local homebrew mac 開啟終端輸入 mkdir homebrew curl l tar xz strip 1 c homebrew 然後在配置 終端輸入cd 終端...
Linux軟體安裝到指定目錄方法
a rpm包,這種軟體包就像windows的exe安裝檔案一樣,各種檔案已經編譯好,並打了包,哪個檔案該放到哪個資料夾,都指定好了,安裝非常方便,在圖形介面裡你只需要雙擊就能自動安裝。如果指定linux安裝軟體時所需要安裝到的目錄 為軟體包指定安裝目錄 要加 relocate 引數 下面的舉例是把g...