web-dev-qa-db-ja.com

root権限なしでCentOSにPythonをインストールする方法は?

何らかの理由で、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はopenssllibとうまく比較できなかったようです。そこで、setuptoolsをそのWebサイトからダウンロードし、アーカイブを解除してから実行しました。

python setup.py install

RuntimeError: Compression requires the (missing) zlib module

したがって、再コンパイルして再インストールするPythonが必要です。今回は、Pythonを構成する前に、権限がないため、--prefix="$HOME/tools/foo"を追加して、zlib、openssl、libffiを手動でインストールしました。 /usr/foo/barで書き込みます。

その後、--with-zlib=$HOME/tools/zlibのようなフラグを使用してPythonを構成しようとしました。残念ながら、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

Web全体を検索しましたが、何も見つかりませんでした。したがって、私はここに来て、質問を提起します:root権限なしでCentOSにPython zlib、openssl、libffiなどを使用してインストールする方法は?

1
Ch'en Meng

ホームディレクトリからPython +ツールを実行できます。
https://www.continuum.io/downloads に移動して、これらのパッケージがすべてここにリストされているAnacondaを入手します: http://docs.continuum.io/anaconda/pkg-docs libFFI、openssl、zlibを含みます。

インストールしたら、ターミナルとワラを再起動します。 ($ PATHはあなたとあなただけのために変更されるので、システムのソフトウェアは影響を受けず、管理者に電子メールを送信する必要はありません。)

ここにリストされていない他のパッケージが必要な場合は、conda、pip、またはsetup.pyを使用して詳細を取得できます。

出て行って、すごい。

4
Back2Basics

パック用のツールがありますpython anacondaのようなインストーラーへのモジュール付き- https://github.com/conda/constructor 。yamlconfigに基づいてダウンロード= pythonおよびrootおよびインターネットアクセスなしでインストールできる自己解凍アーカイブへのツール。

0
knightdave

/ etc/sudoersにアクセスできますか、それとも管理者にこれを追加するように指示できますか?このファイルに追加することをお勧めしますusername ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude, /usr/bin/whateverこれにより、ファイルにアクセスするためにSudoが不要になります。

0
sphchow