CentOSを実行するシェルがあります。
私がやっているプロジェクトでは、python 2.5+が必要ですが、centOSは2.4にかなり依存しています。
私が読んだことから、2.5にアップグレードすると多くのことが壊れるでしょう。
2.5を2.4とは別にインストールしたいのですが、どうすればいいのかわかりません。これまでのところ、ソースtarballをダウンロードし、tarを展開して、./configure --prefix=/opt
を実行しました。今make, make install
だけでいいですか?それとももっとありますか?
EPEL-repository を使用し、Sudo yum install python26
を実行してpython 2.6をインストールすることもできます。
エペルを試す
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
を実行します
私が似たような状況に陥ったとき、特に何かを壊すのが恥ずかしい場合、つまり本番サーバーの場合は特に、パッケージマネージャーを避けます。代わりに、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つの長いシェルスクリプトです。
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
に依存する他の何かを壊しません。
いいえ、それだけです。後で再コンパイルする必要がないように、オプションのライブラリヘッダーもすべてインストールする必要があります。それらは、私が考えるドキュメントにリストされています。
また、make altinstall
を実行すると、標準パスにインストールすることもできます。そうすれば、現在のデフォルトの「python」は上書きされません。
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
pythonバージョン(この場合はpython2.6)をインストールしたら、このコマンドを発行してvirtualenv
を作成します。
virtualenv -p /usr/bin/python2.6 /your/virtualenv/path/here/
自分で簡単にしたい場合、新しいPythonバージョン用のCentOS RPMがネットの周りに浮かんでいます。例えば。見る:
パーティーに遅れましたが、OPは Buildout または Virtualenv で行って、問題を完全に回避しました。
私は現在Centosサーバーに取り組んでいます。まあ、退屈するのは適切な用語です。そして、ソフトウェアで同等の耐火性の槍を使用している間に涙を瞬きさせることができる唯一の方法はビルドアウトであることを皆に保証できます。
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
知らないことのために:=)
依存関係の欠落:libffi.so.5は次のとおりです。
# 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
ターミナルで次のコマンドを入力して、CentOS 7にPython 3.6をインストールします。
$ Sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
それから:
$ Sudo yum install python36u
36をバージョン番号に置き換えるだけで、3.6ではなく任意のバージョンをインストールすることもできます(必要な場合)。
元のバージョンのpython(2.6.6)をインストールして2.7(オプションmake && make altinstall
を使用)をインストールしましたが、yumで何かをインストールしようとしても機能しませんでした。
そこで、この問題を次のように解決しました。
# ln -s /usr/local/bin/python /usr/bin/python
rpm -Uvh python-2.6.6-36.el6.i686.rpm
完了