2009-03-07 7 views
32

私は自分のサーバーにインストールパッケージのmakeを抽出し、設定して使用しました。sudoのアクセスなしでPythonをインストールできない

ただし、私はmake installを使用できませんでした。私は、私はまだ同じエラーを取得し、私は

chmod +x Python-2.6.1 

でフォルダを実行し、エラー

[~/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 

を取得します。

どうすれば実行できますかmake install sudoにアクセスしないでください。

答えて

89

私のホームディレクトリ下のパスにどのようにインストールできますか?

mkdir /home/masi/.local 

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

次に使用して実行します。

/home/masi/.local/bin/python 

同様に、スクリプト(例えばCGI。)はPythonの独自のユーザーバージョンを必要としている場合、明示的に指示する必要があり:

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

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

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

Pythonにリンクするもの(例えばmod_wsgi)をコンパイルする場合は、Pythonを見つける場所を指定する必要があります。そうでない場合は、代わりにシステム1を使用します。

/home/masi/.local/bin/python setup.py install 
+6

システムにsetuptoolsがない場合は、投稿を参照してください。http://stackoverflow.com/questions/624671/unable-to-install-python-setuptools-from-source –

+0

分かりません2.6.X少なくとも2.7.9と3.xには./configureスクリプトを実行する前にmakefileがありません。だから、最初の呼び出しの下に "make clean"を設定して設定してください。 – leRobot

2

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

+1

"自分のホームディレクトリの下のパス"とは何ですか? –

+0

ホームディレクトリのパスにどのようにインストールできますか? –

+0

インストールに関するドキュメント(http://docs.python.org/using/unix.html)、特にパスとファイルに関する部分を見てください。 – kquinn

1

拡張bobince:あなたは、単にPythonの正しいバージョンでsetup.pyスクリプトを実行する必要があるのMySQLdbのような他のsetup.pyベースの拡張機能については

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

:これは、多くの場合のようなものをやっていますあなたのシステムにreadline開発パッケージがインストールされておらず、root権限を持っていなければ、問題があります。

Pythonをreadlineなしでコンパイルすると、矢印キーはインタプリタでは機能しません。しかし、次のようにreadlineスタンドアロンパッケージをインストールすることができます:Adding Readline Functionality Without Recompiling Python

一方、readlineのローカルインストールを使用してPythonをコンパイルしたい場合は、ここで説明します。

bobinceが言っていた前に、readlineをコンパイルしてインストールしていました。これらは、そうする手順は、次のとおりですreadlineの-6.2.tar -zxvf

、あなたの.bash_profileスクリプトに次の行を追加しますmake installを作ります:

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

最後に、ではなく、少なくとも、次のコマンドを実行し

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

私はこれが誰かを助けてくれることを願っています!

関連する問題