web-dev-qa-db-ja.com

PythonをSudoアクセスなしにインストールできません

サーバーのインストールパッケージにmakeを抽出、構成、使用しました。

しかし、make installは使用できませんでした。エラーが出る

[~/wepapps/python/Python-2.6.1]# make install
/usr/bin/install -c python /usr/local/bin/python2.6
/usr/bin/install: cannot create regular file `/usr/local/bin/python2.6': Permission denied
make: *** [altbininstall] Error 1

私はフォルダを実行します

chmod +x Python-2.6.1

それでも同じエラーが発生します。

Sudoアクセスなしでmake installを実行するにはどうすればよいですか?

ホームディレクトリの下のパスにインストールする方法を教えてください。

mkdir /home/masi/.local

cd Python-2.6.1
make clean
./configure --prefix=/home/masi/.local
make
make install

次に、以下を使用して実行します。

/home/masi/.local/bin/python

同様に、独自のユーザーバージョンPythonを必要とするスクリプト(CGIなど)がある場合は、明示的に伝える必要があります。

#!/home/masi/.local/bin/python

デフォルトのシステムを使用する代わりにPython「#!/ usr/bin/env python」が選択します。

PATH設定を変更して、コンソールから「python」と入力するだけでそのバージョンを実行できますが、別のユーザーで実行されているWebアプリには役立ちません。

Python(例:mod_wsgi))にリンクするものをコンパイルする場合は、Pythonを見つける場所を指示する必要があります。そうしないと、代わりにシステムが使用されます。これは多くの場合、次のように行われます。

./configure --prefix=/home/masi/.local --with-python=/home/masi/.local

MySQLdbなどの他のsetup.pyベースの拡張機能については、正しいバージョンのPythonでsetup.pyスクリプトを実行するだけです。

/home/masi/.local/bin/python setup.py install
98
bobince

ボビンスの回答を拡張すると、readline開発パッケージがシステムにインストールされておらず、rootアクセス権がない場合に問題があります。

Pythonがreadlineなしでコンパイルされると、矢印キーはインタープリターで機能しません。ただし、次のようにreadlineスタンドアロンパッケージをインストールできます: Pythonを再コンパイルせずにReadline機能を追加する

一方、readlineのローカルインストールを使用してpythonをコンパイルする場合は、次のようにします。

ボビンスが言っていたように行う前に、readlineをコンパイルしてインストールします。これらはそうするためのステップです:

次に、次の行を.bash_profileスクリプトに追加します。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib

最後に、次のコマンドを実行します。

export LDFLAGS="-L$HOME/.local"

これが誰かに役立つことを願っています!

4
GermanK

できません。しない/usr、とにかく。スーパーユーザーのみがこれらのディレクトリに書き込むことができます。代わりに、ホームディレクトリの下のパスにPythonをインストールしてみてください。

2
kquinn