web-dev-qa-db-ja.com

CentOSにpython 2.6をインストールします

CentOSを実行するシェルがあります。

私がやっているプロジェクトでは、python 2.5+が必要ですが、centOSは2.4にかなり依存しています。

私が読んだことから、2.5にアップグレードすると多くのことが壊れるでしょう。

2.5を2.4とは別にインストールしたいのですが、どうすればいいのかわかりません。これまでのところ、ソースtarballをダウンロードし、tarを展開して、./configure --prefix=/optを実行しました。今make, make installだけでいいですか?それとももっとありますか?

85
tehryan

EPEL-repository を使用し、Sudo yum install python26を実行してpython 2.6をインストールすることもできます。

79
boerre

エペルを試す

wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Sudo rpm -ivh epel-release-5-4.noarch.rpm
Sudo yum install python26

python実行可能ファイルは/usr/bin/python26で利用可能になります

mkdir -p ~/bin
ln -s /usr/bin/python26 ~/bin/python
export PATH=~/bin:$PATH # Append this to your ~/.bash_profile for persistence

これで、pythonコマンドはpython 2.6を実行します

31
Joyce Babu

私が似たような状況に陥ったとき、特に何かを壊すのが恥ずかしい場合、つまり本番サーバーの場合は特に、パッケージマネージャーを避けます。代わりに、Activestateに移動し、バイナリパッケージをダウンロードします。

https://www.activestate.com/activepython/downloads/

これは、すべてをフォルダーに配置し、システムファイルには一切触れないスクリプトを実行することによりインストールされます。実際、設定するのにルート権限さえ必要ありません。次に、バイナリの名前をapy26などに変更し、そのフォルダーをPATHの最後に追加して、コーディングを開始します。 apy26 setup.py installを使用してパッケージをインストールする場合、またはvirtualenvとeasyinstallを使用する場合、システム標準のpythonに触れることなく、必要なだけpython環境を柔軟に使用できます。

編集...最近、Linux用のポータブルPythonバイナリをビルドするための作業をいくつか行いました。これは、外部依存関係のないディストリビューションで実行する必要があります。つまり、ポータブルPythonモジュールに必要なバイナリ共有ライブラリはビルドの一部であり、tarballに含まれ、Pythonのプライベートディレクトリ構造にインストールされます。この方法で、システムにインストールされたPythonに干渉することなく、アプリケーションにPythonをインストールできます。

私のgithubサイト には、32ビットと64ビットの両方のインストールでUbuntu Lucid 10.04 LTSで徹底的にテストされたビルドスクリプトがあります。また、Debian Etchでビルドしましたが、それは少し前のことであり、何かを変更していないことを保証することはできません。これを行う最も簡単な方法は、選択したUbuntu Lucidを仮想マシンに配置し、git clone git://github.com/wavetossed/pybuild.gitでスクリプトをチェックアウトしてから、スクリプトを実行することです。

ビルドしたら、最近のLinuxディストリビューションでtarballを使用します。 /data1/packages/python272以外のディレクトリに移動すると、ディレクトリを移動する前に、含まれるpatchelfを実行してインタープリターパスを設定する必要があるという小さなしわが1つあります。これは、/data1/packages/python272/binのすべてのバイナリに影響します

これらはすべて、RUNPATHを使用してビルドし、依存共有ライブラリをコピーすることに基づいています。スクリプトはいくつかのファイルにありますが、実際には/etc/rc.dディレクトリのスタイルで配置された1つの長いシェルスクリプトです。

28
Michael Dillon

Yumを実行したり、独自のRPMを作成する必要はありません。ソースからpython26をビルドします。

wget https://www.python.org/ftp/python/2.6.6/Python-2.6.6.tgz
tar -zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure && make && make install

依存関係エラーが使用される可能性があります

yum install gcc cc

インストールパス(デフォルトでは/usr/local/bin/python)を~/.bash_profileに追加します。

yumまたはpython24に依存する他の何かを壊しません。

26
Rahul Arora

いいえ、それだけです。後で再コンパイルする必要がないように、オプションのライブラリヘッダーもすべてインストールする必要があります。それらは、私が考えるドキュメントにリストされています。

また、make altinstallを実行すると、標準パスにインストールすることもできます。そうすれば、現在のデフォルトの「python」は上書きされません。

24
Lennart Regebro

Chris Lea は、CentOSのかなりの数の管理ツールに必要な「ネイティブ」2.4と共存できるpython26 RPM用のYUMリポジトリを提供します。

少なくとも私のために働いた簡単な指示:

$ Sudo rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
$ Sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
$ Sudo yum install python26
$ python26
12
Kimvais

pythonバージョン(この場合はpython2.6)をインストールしたら、このコマンドを発行してvirtualenvを作成します。

virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/
3
user1427258

自分で簡単にしたい場合、新しいPythonバージョン用のCentOS RPMがネットの周りに浮かんでいます。例えば。見る:

http://www.geekymedia.com/python_26_centos.html

3
oggy

パーティーに遅れましたが、OPは Buildout または Virtualenv で行って、問題を完全に回避しました。

私は現在Centosサーバーに取り組んでいます。まあ、退屈するのは適切な用語です。そして、ソフトウェアで同等の耐火性の槍を使用している間に涙を瞬きさせることができる唯一の方法はビルドアウトであることを皆に保証できます。

2
chiggsy
rpm -Uvh http://yum.chrislea.com/centos/5/i386/chl-release-5-3.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CHL
rpm -Uvh ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/libffi-3.0.5-1.el5.kb.i386.rpm
yum install python26
python26

知らないことのために:=)

1
Cheap VPN
1
rytis
1
lykich
# yum groupinstall "Development tools"
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

Python 3.3.0をダウンロードしてインストールします

# wget http://python.org/ftp/python/3.3.0/Python-3.3.0.tar.bz2
# tar xf Python-3.3.0.tar.bz2
# cd Python-3.3.0
# ./configure --prefix=/usr/local
# make && make altinstall

Python 3.3の配布をダウンロードしてインストール

# wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.35.tar.gz
# tar xf distribute-0.6.35.tar.gz
# cd distribute-0.6.35
# python3.3 setup.py install

Python 3.3のvirtualenvをインストールして使用

# easy_install-3.3 virtualenv
# virtualenv-3.3 --distribute otherproject

New python executable in otherproject/bin/python3.3
Also creating executable in otherproject/bin/python
Installing distribute...................done.
Installing pip................done.

# source otherproject/bin/activate
# python --version
Python 3.3.0
1
Rushdi

ターミナルで次のコマンドを入力して、CentOS 7にPython 3.6をインストールします。

$ Sudo yum install https://centos7.iuscommunity.org/ius-release.rpm

それから:

$ Sudo yum install python36u 

36をバージョン番号に置き換えるだけで、3.6ではなく任意のバージョンをインストールすることもできます(必要な場合)。

0

元のバージョンのpython(2.6.6)をインストールして2.7(オプションmake && make altinstallを使用)をインストールしましたが、yumで何かをインストールしようとしても機能しませんでした。

そこで、この問題を次のように解決しました。

  1. # ln -s /usr/local/bin/python /usr/bin/python
  2. http://rpm.pbone.net/index.php3/stat/4/idpl/20270470/dir/centos_6/com/からRPMパッケージpython-2.6.6-36.el6.i686.rpmをダウンロードしますpython-2.6.6-36.el6.i686.rpm.html
  3. ルートとして実行rpm -Uvh python-2.6.6-36.el6.i686.rpm

完了

0
user2544607