Apt-getを使用してPythonの異なるバージョンをインストールするにはどうすればよいですか?
ソースtarボールを使用してインストールできることは明らかですが、ソースからインストールせず、代わりにパッケージマネージャーを使用することをお勧めします。確かに信頼できるどこかで、参照できる最新のPythonリリース用の.debファイルをビルドします(python.orgが私を超えていない理由)。
それらを参照するには何をする必要があり、次のバージョンにアップグレードするときにどのような問題が発生する可能性がありますか?
ソースからビルドする以外に方法がない場合、個別に検索してインストールすることなく、必要なすべての依存関係を提供する(擬似)パッケージをインストールできますか?私が得ないように:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
Felix Krullは、基本的に任意のバージョンのPythonのPPAオファリングを実行します(真剣に、鮮やかな2.3.7ビルドがあります...) https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa にある多くのUbuntuリリース用。
いつものこと:
Sudo add-apt-repository ppa:deadsnakes/ppa
Sudo apt-get update
Sudo apt-get install python3.5
python3.4
としてシンボリックリンクされた既存のpython3
は上書きされません。
シンボリックリンクを変更しないでください! python3.5では適切に動作しないシステム関数が多数あるようです。
私はこれを試しましたが、その後、ターミナル、ソフトウェアアップデーターを開けませんでした...
cd /usr/bin
Sudo rm python3
Wilyにアップグレードすると、メタパッケージpython3
がpython3.5
を指すように調整されます。破損は予想していませんが、この時点で外部リポジトリはもう必要ありません。したがって、本当に安全にするために、アップグレードを行う前にPPAをパージすることができます。
この Youtubeリンク は、インストールに役立ちました。
手順は次のとおりです。
Sudo apt-get install libssl-dev openssl
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz
tar xzvf Python-3.5.0.tgz
cd Python-3.5.0
./configure
make
Sudo make install
pythonがインストールされているかどうかを確認するには、python3.5
elseと入力します。
Sudo ln -fs /opt/Python-3.5.0/Python /usr/bin/python3.5
次の手順(テスト済み)に従うだけです。
次のコマンドを使用して、Pythonの前提条件をインストールする前にインストールします。
Sudo apt-get install build-essential checkinstall
Sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Python公式サイトから次のコマンドを使用して、pythonをダウンロードします。以下に指定されている場所の最新バージョンをダウンロードすることもできます。
cd /usr/src
Sudo wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
ダウンロードしたパッケージを解凍します。
Sudo tar xzf Python-3.5.2.tgz
以下の一連のコマンドを使用して、altinstallを使用してシステムでpythonソースコードをコンパイルします。
cd Python-3.5.2
Sudo ./configure
Sudo make altinstall
make altinstall
は、デフォルトのpythonバイナリファイル/usr/bin/python
の置き換えを防ぐために使用されます。
以下のコマンドを使用して、インストールされているpythonの最新バージョンを確認してください。
$ python3.5 -V
Python 3.5.2
ソース 。
私の知る限り、少なくともdockerコンテナでは、apt-get
python 3が決定的にできます。
最初に、コンテナを備えたubuntuコンテナに遭遇しました:
docker run -it --rm ubuntu:latest bash
その後、何らかの理由でいくつかのubuntuのものを更新する必要があったので、私は(コンテナ内で):
apt-get update && apt-get install -y build-essential git libjpeg-dev
そして、私は単にpython3をインストールし、自動的にpython 3.5を得たようです:
apt-get install python3
apt-get install python3-pip
そして、pipが機能するかどうかをテストするには、何かをダウンロードできます:
pip3 install tensorflow
私にとってはすべてうまくいくようです。
重要な注意:python 3.4が既にインストールされている場合、apt-get install python3
は既にインストールされていると表示されるため動作しません。テンソルフロー(特にgcr.io/tensorflow/tensorflow:latest-devel-py3
)のdockerイメージと、そのイメージ内の何か(既にpython 3.4を持っていると仮定していますが、他の何かかもしれません)pythonを更新してpython 3.5を取得できませんでした。
クレジット:私は次を尋ねたときにこれを発見しました: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out -of-the-tensorflow-docker
注:Anacondaをインストールすることもできます。ドッカーの例では、次のことができます。
docker pull continuumio/anaconda3
docker run -i -t continuumio/anaconda3 /bin/bash
彼らの公式ウェブサイトから: https://hub.docker.com/r/continuumio/anaconda3/
このソリューションはpython 3.6をインストールしますが、それを調べれば、python 3.5を取得できます。
注:とにかくdockerを使用しない限り、おそらく仮想envやconda/anacondaなどの仮想環境を使用する必要があります。ただ人々に思い出させたかった。
buntuパッケージ にリストされているapt-getを介してインストールできる新しいpythonディストリビューションがいくつかあります
例として、現在次のバージョンが利用可能です。
可用性は、Ubuntuのリリースによってある程度異なります。たとえば、Xenial、Yakkety、Zestyで3.5が使用可能で、YakketyおよびZestyで3.6が使用可能ですが、apt-getを使用してこれらを取得するには、 niverse repository を有効にする必要があります。 Ubuntuのバージョンの可用性を確認するには、上記のリンクを確認してください。
PPPがTrustyに対しても3.6であるため、クイックピークは この回答 も有効であることを示しています。
Apt-getを使用してpythonバージョンをインストールする代わりに、仮想環境を使用することを検討します。
仮想環境を使用する場合、 こちらを参照 は、Pythonで開発するための良い習慣です。 python環境を、インストールされているシステムpythonバージョンから分離できます。
さらに、ライブラリのインストール中に(pipなどを使用して)Sudoアクセスを取得する必要はありません。
Conda は積極的に更新され、管理されたvenvに複数のpythonバージョンをインストールできます。バイナリ拡張機能のパスの問題は、使用するanaconda管理の依存関係/ PIPチェーンの多くで解決された可能性があります。