pip安裝到指定目錄的方案對比

2022-01-25 11:56:41 字數 1721 閱讀 3013

在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...