今日は、CentOS6.4にPython2.7および3.5バージョンをインストールする方法を説明します。そして、既存のPythonインストール(デフォルトのシステムインストールバージョンはCentOS 6.4では2.6.6)や yum などの他のシステムツールを壊すことなく、これを実行します。 。このチュートリアルの背後にある主な理由は、最近Python 3をインストールして、すべてを壊したことです。python、pip、yumなど…これらのスナップショットは次のとおりです。 yum Pythonのインストール/アップグレード後に壊れた:
#yumyumの実行に必要なPythonモジュールの1つをインポートする際に問題が発生しました。この問題の原因となるエラーは次のとおりです。rpmという名前のモジュールがありませんこのモジュールを提供するパッケージをインストールするか、モジュールが正しくインストールされていることを確認してください。
Pythonはyumのインポートに失敗しました Pythonのインストール/アップグレード後:
#python Python 2.6(r26:66714、2015年12月16日、11:33:08)[GCC 4.4.7 20120313(Red Hat 4.4.7-11)] onlinux2「help」、「copyright」、「詳細については、「クレジット」または「ライセンス」を参照してください。>>> import yum Traceback(最後の最後の呼び出し):ImportErrorのファイル ""、1行目:yumという名前のモジュールがありません>>>
およびpip 同様に壊れた:
#pipトレースバック(最後の最後の呼び出し):ファイル "/ usr / bin / pip"、5行目、pkg_resourcesからインポートload_entry_point ImportError:pkg_resourcesという名前のモジュールがありません
したがって、学んだ教訓は–Pythonを台無しにしないでください!! (Pythonが壊れると、修正するのは非常に困難です)。つまり、1台のマシンに複数のバージョンのPythonをインストールしたい場合は、正しい方法でインストールしてください。
注:常に新しいバージョンのPythonを非標準の場所(/ usr / local /など)にインストールしてください
前提条件: rootが必要です アクセスまたはsudo 特権。
「開発ツール」と必要なライブラリをインストールして、システムでPythonをセットアップする準備をします。
開発ツールのインストール:
#yumgroupinstall"開発ツール":::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::rpm-libs.x86_64 0:4.8.0-47.el6 rpm-python.x86_64 0:4.8.0-47.el6 xz-libs.x86_64 0:4.999.9-0.5 .beta.20091007git.el6完了!
これらのライブラリも必要になる場合があります:
これらのライブラリはPythonをインストールする必要はありませんが、後の段階で必要になる場合があります。
#yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel :::::::::::::::::::::::::::::::::::::::::::::::::::::ncurses-libs.x86_64 0: 5.7-4.20090207.el6 openssl.x86_64 0:1.0.1e-42.el6_7.2 sqlite.x86_64 0:3.6.20-1.el6_7.2完了!
CentOS6.4でPython2.7をコンパイルしてインストールします
Python 2.7のダウンロード:
#wget http://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
#tar xf Python-2.7.6.tar.xz
注: tarの最新バージョン .xzを抽出できます ファイル。場合によっては、 tarを使用して抽出できなかった場合 、それでは、ここにあなたを助けるためのガイドがあります。
#cd Python-2.7.6
#。/ configure --prefix =/ usr / local --enable-unicode =ucs4 --enable-shared LDFLAGS ="-Wl、-rpath / usr / local / lib" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: configure:./config.statusの作成config.status:Makefile.preの作成config.status:Modules / Setup.configの作成config.status:Misc / python.pcの作成config.status:Modules /ld_so_aixconfigの作成ステータス:pyconfig.hの作成モジュール/セットアップの作成モジュール/Setup.localの作成Makefileの作成
注: / usr / localにPythonをインストールします 。つまり、実行可能ファイルは / usr / local / binにインストールされます。 および/usr / local / libのライブラリ 。 LDFLAGSに注意してください 同様に。
#make &&make altinstall :::::::::::::::::::::::::::::/ usr / local/binコピーbuild/scripts-2.7 / smtpd.py-> / usr / local/binコピーbuild/scripts-2.7 / pydoc-> / usr / local/binコピーbuild/scripts-2.7 / 2to3-> / usr / local/binのモードを/usr/ local / bin/idleから755に変更/usr/ local / bin/smtpd.pyのモードを755に変更/usr/ local / bin/pydocのモードを755に変更/usr/local/bin/2to3から755までinstall_egg_infoを実行.7 / lib-dynload / _sysconfigdata.py *
注: make altinstallに注意してください –「makeinstall」は両方のバージョンを同じファイルシステムにインストールし、Pythonを台無しにするため、絶対に使用しないでください。
Python 2.7は次の場所にインストールされます:
#ls -ld /usr/local/lib/python2.7/
CentOSでPython3.5をコンパイルしてインストールします
#wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz
#tar xz Python-3.5.1.tar.xz
#cd Python-3.5.1
#./configure --prefix =/ usr / local --enable-shared LDFLAGS ="-Wl、-rpath / usr / local / lib" ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::configure:createing ./config.status config.status:createing Makefile.pre config.status:createing Modules / Setup.config config.status :Misc / python.pc config.statusの作成:Misc / python-config.shの作成config.status:Modules / ld_so_aixの作成config.status:pyconfig.hの作成Modules/Setupの作成Modules/Setup.localの作成Makefileの作成>
#make &&make altinstall :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::インデックスを無視する:https://pypi.python.org/simple setuptoolsの収集pipの収集収集されたパッケージのインストール:setuptools、pip正常にインストールされたpip-7.1.2 setuptools-18.2
インストールされているPython3.5:#ls -ld /usr/local/lib/python3.5/
SetuptoolsとPythonPipをインストールします:
setuptoolsをインストールしましょう およびpip 上記でインストールしたPythonバージョン(2.7と3.5)の両方の場合:
#wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py(or)
#curl https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | /usr/local/bin/python2.7get-pip.pyスクリプトに古い場所を使用しています。https://bootstrap.pypa.io/get-pip.pyから入手できる場所を使用してください
更新: 上記のコマンドは、見つからないというエラーで失敗します。代わりに、以下のコマンドを使用してpip2.7をインストールしてください。
#curl https://bootstrap.pypa.io/get-pip.py | /usr/local/bin/python2.7
Python 2.7のsetuptoolsをインストールします:
#python2.7 ez_setup.py
Python 3.5用のsetuptoolsをインストールします:
#python3.5 ez_setup.py:::::::::::::::::::::::::インストール済み/usr/local/lib/python3.5/site-packages /setuptools-19.4-py3.5.eggsetuptools==19.4の処理依存関係setuptools==19.4の処理依存関係が終了しました
Python 2.7用のpipのインストール:
#easy_install-2.7 pip::::::::::::::::::::::/usr/local/binへのpipスクリプトのインストール/usr/local/へのpip2.7スクリプトのインストールbinInstallingpip2スクリプトを/usr/local/binInstalled/usr/local/lib/python2.7/site-packages/pip-8.0.0-py2.7.eggpipの依存関係の処理pipの依存関係の処理終了
Python 3.5用のpipのインストール:
#easy_install-3.5 pippipBest matchの検索:pip 7.1.2easy-install.pthファイルへのpip7.1.2の追加pip3.4スクリプトの/usr/ local/binへのインストールpip3スクリプトの/usr/ local/binへのインストールpipスクリプトのインストール/usr/local/binUsing/usr/local/lib/python3.5/site-packagespipの依存関係の処理pipの依存関係の処理の終了
そのため、Pythonにはpipとsetuptoolsの2つのバージョンがあります。これらのPython環境(2.7および3.5)を分離します。
分離されたPython環境をセットアップする方法
そのためには、virtualenv。というパッケージが必要です。
Python 2.7用のvirtualenvをインストールします:
#pip2.7 install virtualenv :::::::::::::::::::::::::::収集されたパッケージのインストール:virtualenv正常にインストールされたvirtualenv-14.0.0>
インストールしたら、 virtualenvを探します 以下に示すコマンド:
#virtualenvvirtualenv virtualenv-3.5
virtualenvを使用して分離された環境を作成しましょう Python 2.7の場合、その仮想環境に py27envという名前を付けます。 (別の名前を設定できます)。
#virtualenv py27env/root/py27env/bin/python2.7に新しいpython実行可能ファイルも作成/root/ py27env / bin / pythonに実行可能ファイルを作成setuptools、pip、wheel...doneをインストール分離された環境(サンドボックスと呼ばれる)は、上記のコマンドを実行した現在のディレクトリに作成されます。 py27envという名前のフォルダーを探します (あなたの場合は別の名前かもしれません)
#ls -ld py27env/drwxr-xr-x。 5ルートルート4096Jan21 15:25 py27env /サンドボックスpy27envをアクティブ化する必要があります :
#source py27env / bin / activate(py27env)次に、以下に示すようにPythonのバージョンを確認します。
#python --versionPython 2.7.6上記の出力は、Python2.7.6サンドボックスを使用していることを示しています。システムにインストールされたPythonバージョンに戻すには、以下のように非アクティブ化する必要があります。
(py27env)#deactivate今すぐバージョンを確認してください:
#python --versionPython2.6.6//これでデフォルトのPython環境に戻ります。Python3.5用のサンドボックス環境を作成する
virtualenvを使用しました Python 2.5のサンドボックスを作成しますが、Python 3.5の場合は、pyvenv-3.5。という組み込みコマンドを使用します。
#pyvenv-3.5 py35environment(py35environment)現在のディレクトリに「py35environment」という名前のディレクトリがあります。次に示すように、Python3.5環境をアクティブ化しましょう。
#source py35environment / bin / activate(py35environment)(py35environment)#python --versionPython 3.5.1以下のように非アクティブ化します:
(py35environment)#非アクティブ化#python --versionPython 2.6.6それでおしまい!これで2つの異なるPython環境ができ、何も台無しにすることなくそれを実行できました。このチュートリアルがお役に立てば幸いです。
SHOW PROCESSLISTの出力をMySQLのファイルに保存するにはどうすればよいですか? [解決済み]:rsyncが隠しファイル/ディレクトリをコピーしなかった理由とアスタリスクに隠し(ドット)ファイルが含まれていないのはなぜですか?Linux