Centos

如何在沒有 root 權限的 CentOS 上安裝 Python?

  • February 26, 2022

由於某些原因,我需要在沒有 root 權限的 CentOS 上安裝 Python。由於沒有root,無法使用yum安裝包,所以我嘗試

./configure --prefix=$HOME/tools/python
make
make install

它確實奏效了。但是,當我嘗試為其安裝 setuptools 時,通過

wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | python - --user --insecure

Python抱怨說

urllib2.URLError: <urlopen error unknown url type: https>

似乎 Python 沒有與 openssl lib 很好地編譯。所以我從它的網站下載了 setuptools,解壓了它,然後執行

python setup.py install

並得到

RuntimeError: Compression requires the (missing) zlib module

因此,需要重新編譯並重新安裝 Python。這一次,在我配置 Python 之前,我手動安裝了 zlib、openssl 和 libffi,通過添加--prefix="$HOME/tools/foo",因為我沒有權限寫入/usr/foo/bar.

之後,我嘗試使用標誌配置 Python,例如--with-zlib=$HOME/tools/zlib. 不幸的是,Python 在螢幕上顯示了一條線,這些標誌是未知的。然後我嘗試修改/Modules/Setup.dist,期望我可以通過取消註釋以下行來指定這些庫的路徑:

#SSL=/home/foo/tools/openssl-1.0.0s
#_ssl _ssl.c \
#       -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
#       -L$(SSL)/lib -lssl -lcrypto
......
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz 

這一次,事情變得更糟,編譯停止了

./Modules/zlibmodule.c:8:18: error: zlib.h: No such file or directory

我搜尋了整個網路,一無所獲。因此,我來這裡提出一個問題:如何在沒有root權限的CentOS上安裝帶有zlib、openssl和libffi等的Python?

您可以從主目錄執行 Python + 工具。

轉到https://www.continuum.io/downloads以獲取 Anaconda,其中列出了所有這些軟體包:http: //docs.continuum.io/anaconda/pkg-docs,包括 libFFI、openssl 和 zlib。

安裝後,重新啟動終端和wallah。($PATH 會為您和您單獨更改,因此您的系統軟體不受影響,並且無需向管理員發送電子郵件。)

如果您需要此處未列出的其他軟體包,您可以使用 conda、pip 或 setup.py 來獲取更多。

去吧,變得很棒。

引用自:https://unix.stackexchange.com/questions/239691