sudoアクセスなしでPythonをインストールできません
-
05-07-2019 - |
質問
サーバーでインストールパッケージの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
“#!/ usr / bin / env python”のデフォルトシステムPythonを使用する代わりに選択します。
“ python”と入力するだけでPATH設定を変更できます。コンソールからそのバージョンを実行しますが、別のユーザーで実行されている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
他のヒント
できません。とにかく / usr
ではありません。これらのディレクトリに書き込むことができるのは、スーパーユーザーのみです。代わりに、ホームディレクトリの下のパスにPythonをインストールしてみてください。
bobinceの答えを拡張すると、システムにreadline開発パッケージがインストールされておらず、rootアクセス権がない場合に問題があります。
Pythonがreadlineなしでコンパイルされている場合、矢印キーはインタープリターで機能しません。ただし、readlineスタンドアロンパッケージは、次のようにインストールできます。 a>
一方で、readlineのローカルインストールを使用してPythonをコンパイルする場合は、次のようになります。
bobinceが指示を出す前に、readlineをコンパイルしてインストールします。これを行う手順は次のとおりです。
- wget ftp://ftp.cwru.edu/pub/ bash / readline-6.2.tar.gz
- tar -zxvf readline-6.2.tar.gz
- cd readline-6.2
- ./ configure --with-prefix = $ HOME / .local
- make
- make install
次に、この行を.bash_profileスクリプトに追加します:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.local/lib
最後に、少なくとも次のコマンドを実行します
export LDFLAGS="-L$HOME/.local"
これが誰かの助けになることを願っています!