Python 2.6にアップグレードしてください。 libpython2.6.so.1.0がありません

Python 2.6にアップグレードしてください。 libpython2.6.so.1.0がありません

オフライン64ビットRHEL 6.4システムでPythonをアップグレードしているので、yumの代わりにRPMを介して実行する必要があります。ソースからnodejsをビルドできるように、Pythonを2.4.3から2.6にアップグレードしようとしています。

走るときに問題が発生しました。

rpm -Uvh python26-2.6.8-2.el5.x86_64.rpm

依存関係障害エラーが発生します。

libpython2.6.so.1.0() (64bit) is needed by python26-2.6.8-2.el5.x86_64

とにかくlibpython2.6がインストールされているものが見つかりません...

答え1

システムに含まれているPythonのバージョンを破損しようとするのは通常賢明ではありません。これらのアプリケーションは、ユーザーのために存在するのではなく、オペレーティングシステムにバンドルされているアプリケーションをサポートするためのものです。ディストリビューションの内部パイプラインのほとんどは、これらの特定のPythonパッケージに依存しています。

Python、Perl、Rubyなどの特定のバージョンが必要な場合は、次のシステムを使用してこれらのインタプリタのローカルバージョンを設定する習慣が必要です。

ピエンブ

このプロジェクトはかつて呼び出されました。Python醸造でも今はと言われていますpyenv。インストールするには、次のようにコピーを$HOMEディレクトリに複製する必要があります。

$ git clone git://github.com/yyuu/pyenv.git .pyenv
Cloning into .pyenv...
remote: Counting objects: 2207, done.
remote: Compressing objects: 100% (617/617), done.
remote: Total 2207 (delta 1489), reused 2172 (delta 1462)
Receiving objects: 100% (2207/2207), 358.75 KiB, done.
Resolving deltas: 100% (1489/1489), done.

pyenvこれでファイルに設定を追加します~/.bashrc

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> .bashrc
$ echo 'eval "$(pyenv init -)"' >> .bashrc

次の使い方がわかりますpyenv

$ pyenv 
pyenv 0.4.0-20130613-17-ge1ea64b
Usage: pyenv <command> [<args>]

Some useful pyenv commands are:
   commands    List all available pyenv commands
   local       Set or show the local application-specific Python version
   global      Set or show the global Python version
   shell       Set or show the shell-specific Python version
   install     Install a Python version using the python-build plugin
   uninstall   Uninstall a specific Python version
   rehash      Rehash pyenv shims (run this after installing executables)
   version     Show the current Python version and its origin
   versions    List all Python versions available to pyenv
   which       Display the full path to an executable
   whence      List all Python versions that contain the given executable

See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/yyuu/pyenv#readme

利用可能なバージョンを表示できます。

$ pyenv versions
* system (set by /home/saml/.pyenv/version)

それでは、Python 3.2.5をインストールしてみましょう。

$ pyenv install 3.2.5
Downloading Python-3.2.5.tgz...
-> http://yyuu.github.io/pythons/ed8d5529d2aebc36b53f4e0a0c9e6728
Installing Python-3.2.5...
Installed Python-3.2.5 to /home/saml/.pyenv/versions/3.2.5

Downloading setuptools-0.9.5.tar.gz...
-> https://pypi.python.org/packages/source/s/setuptools/setuptools-0.9.5.tar.gz
Installing setuptools-0.9.5...
Installed setuptools-0.9.5 to /home/saml/.pyenv/versions/3.2.5

Downloading pip-1.3.1.tar.gz...
-> http://yyuu.github.io/pythons/cbb27a191cebc58997c4da8513863153
Installing pip-1.3.1...
Installed pip-1.3.1 to /home/saml/.pyenv/versions/3.2.5

新しいインストールを統合するために環境を再構築します。

$ pyenv rehash

これで利用可能な2つのバージョンが表示され、システムはまだデフォルト値(*)です。

$ pyenv versions
* system (set by /home/saml/.pyenv/version)
  3.2.5

3.2.5に切り替えてみましょう。

$ pyenv which python
/usr/bin/python

$ pyenv global 3.2.5

$ pyenv which python
/home/saml/.pyenv/versions/3.2.5/bin/python

$ pyenv versions
  system
* 3.2.5 (set by /home/saml/.pyenv/version)

仮想環境と仮想環境ラッパー

これら2つのPythonモジュールは、サイトパッケージを維持するための別々のワークスペースを維持するメカニズムを提供します。 Pythonモジュールのコレクションを分離して特定のPythonアプリケーションに接続したい場合は良い選択です。使用は少し不便ですが、作業は完了です。

一つあるvirtualenvwrapperの使い方を示すスクリーンキャストしかも。 Pythonの場合は、まずを設定してvirtualenvからvirtualenvwrapper

はい

$ sudo easy_install virtualenv
$ easy_install virtualenvwrapper

これで、2つのPythonモジュールがインストールされました。ここで環境を設定し、$HOME/.bashrcファイルに以下を追加する必要があります。

export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh

今すぐリソースを再割り当てしてください.bashrc

$ source ~/.bashrc

これで作業環境を一覧表示する準備が整いました。

$ workon
$

まだ一つもないので、一つを作って「temp」と呼びます。

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

次に、次のように作業セットを再リストしますworkon

(temp)$ workon
temp

ワークスペースのプロンプトの前にプレフィックスが表示されるようにプロンプ​​トが変更されました。今すぐ削除してください。

(temp)$ rmvirtualenv temp
Removing temp...
ERROR: You cannot remove the active environment ('temp').
Either switch to another environment, or run 'deactivate'.

このように無効にする方法はありません。プロンプトが正常に戻ります。

(temp)$ deactivate
$

今削除してみてください。

$ rmvirtualenv temp
Removing temp...

それでは、再作成してワークスペースにCDを入れてみましょう。

$ mkvirtualenv temp
New python executable in temp/bin/python
Installing setuptools................done.

(temp)$ cdvirtualenv 
(temp)$ ls
bin  include  lib  lib64

次に、「一時」ワークスペースサイトパッケージを確認してください。

$ cdsitepackages 
(temp)$ pwd
/home/saml/.virtualenvs/temp/lib/python2.7/site-packages

それでは、Pythonモジュールをインストールしてみましょう。smooshyまず、次のコマンドを使用して検索してみましょうpip

(temp)$ pip search smooshy
smooshy                   - Automatic lossless image compression

今インストールしてください:

(temp)$ pip install smooshy
Downloading/unpacking smooshy
  Downloading smooshy-1.tar.gz
  Running setup.py egg_info for package smooshy

Requirement already satisfied (use --upgrade to upgrade): simplejson in /usr/lib64/python2.7/site-packages (from smooshy)
Installing collected packages: smooshy
  Running setup.py install for smooshy
    changing mode of build/scripts-2.7/smooshy from 664 to 775

    changing mode of /home/saml/.virtualenvs/temp/bin/smooshy to 775
Successfully installed smooshy
Cleaning up...

インストールされている場所を確認するには:

(temp)$ which smooshy
~/.virtualenvs/temp/bin/smooshy

答え2

ご覧のとおり、このpython26-2.6.8-2.el5.x86_64.rpmパッケージはlibpython2.6.so.1.0()(64ビット)に依存しています。

これは次のために発生します。python26-libs-2.6.8-2.el5.x86_64.rpm

ただし、python26-libsもpython26パッケージに依存しているため、両方をインストールする必要があります。

rpm -Uvh python26-2.6.8-2.el5.x86_64.rpm python26-libs-2.6.8-2.el5.x86_64.rpm

このpython26パッケージはシステムに付属の(2.4)パッケージと共にインストールされ、実行可能ファイルをpython置き換えませんpython。 python26を実行するには、スクリプト!#またはコマンドラインで次のものを指定する必要があります。python26

関連情報