apt-getを使用してPython 3.6をインストールするにはどうすればよいですか?


363

私は通常の方法を試しましたsudo apt-get install python3.6が、... ...うまくいきませんでした。

だから、私はそれについてどうやって行くのですか?(できれば自分でビルドしないでください)

Ubuntu 16.04を使用しています。


5
たぶん、あなたのディストリビューションではpython 3.6は利用できません。あなたがインストールしている場合はaptitude、実行aptitude search python3
ridgy

回答:


525

Ubuntu 14.04(信頼)、16.04(Xenial)

Ubuntu 14.04または16.04を使用している場合、Felix Krullのdeadsnakes PPAをhttps://launchpad.net/~deadsnakes/+archive/ubuntu/ppaで使用できます

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

または、https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6でJ FernyhoughのPPAを使用できます

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10、17.04

Ubuntu 16.10または17.04を使用している場合、Python 3.6はユニバースリポジトリにあるため、次を実行できます。

sudo apt-get update
sudo apt-get install python3.6

Ubuntu 14.04、16.04、16.10、および17.04のインストール後

Python 3.6インタープリターを呼び出すには、を実行しpython3.6ます。

Ubuntu 17.10および18.04(Bionic)

Ubuntu 17.10および18.04には、デフォルトでPython 3.6がすでに付属しています。実行python3するだけで起動します。


5
Ubuntu 16.10のpython3.6はベータ版であり、いくつかの問題があります(dictまれな状況で非常に痛みを伴うメモリリークが発生するなど)。
マリウスゲドミナス16

102
注意 -いかなる状況でも、実行するsudo apt remove python3.5ような誘惑に遭わないでください。Pythonは、あなたが考えるよりも根本的にUbuntuに焼き付けられており、Ubuntuのインストールを中断する可能性があります。python3にマッピングする場合はpython3.6、代わりにシンボリックリンクを作成してください!
ヒュー・ウォルターズ

19
python3.6-pipパッケージがないので、以前はcurl https://bootstrap.pypa.io/get-pip.py | sudo python3.6をインストールしていましたpip
Acumenus

5
どういうわけか、pythonはppa:jonathonf/python-3.614.04で壊れたpipでeasy_installなしで到着しました。しかし、私はeasy_installをインストールcurl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipして、誰かが同じ問題に遭遇した場合に備えてpipを再インストールすることでそれを修正することができました...
FirefoxMetzger

6
上記の他のコメンターのように、でpipインストールするのにも問題がありましたppa:jonathonf/python-3.6。一方、ppa:deadsnakes/ppa完璧に働いた(apt-get install python3.6 python3.6-venv -y)。
マイケルハーマン

133

あなたの問題を解決するためにpyenvをお勧めします。Aptitudeを使用せず、「自分で構築する」必要ありますが、完全に自動化されています。単に言うだけで、新しい(または古い)バージョンのPythonをビルドしてインストールできますpyenv install 3.6.0。すべてがユーザーとして実行されるため、Ubuntu自体が使用するPythonを台無しにすることを心配する必要はありません。

さらに、「apt-getを使用してPython 3.7をインストールする方法は?」同じ答えがあります:pyenv update; pyenv install 3.7.0。他の誰かがUbuntu向けにパッケージ化するのを待つ必要がないため、通常はリリースの同じ日に動作します。インストール可能なすべてのバージョンを見るpyenv install --list

pyenvをインストールする

  1. CPythonのビルドに必要なツールとヘッダーをインストールします(PyPyやJythonなどのエキゾチックなPythonには他の依存関係がある場合があります)。Gitはpyenvで使用され、さらにソースブランチのビルド/インストールも可能にするため、現在3.8であれば何でもインストールできます。つまり、GitHubから新しくCPythonのマスターブランチをインストールできます。

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
  2. インストーラースクリプトを実行します(pyenvおよび元の作者が作成した非常に便利なpyenvプラグインをインストールします。詳細はこちらをご覧ください)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. init行を~/.profileorに追加します~/.bashrc(インストールスクリプトの最後に記載されています):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. シェルを再起動する(閉じる&開くまたはexec $SHELL)か、プロファイルスクリプトを再読み込みします。(たとえば付きsource ~/.bashrc

できた!

環境を設定する

システムPythonに触れないように(一般的には悪い考えです。OSレベルのサービスは特定のライブラリバージョンなどに依存している可能性があります)、独自の環境を作るのは簡単です!さらに良い、いいえsudo、それまたはpipインストール!

  1. 好みのPythonバージョンをインストールします(これにより、ソースがダウンロードされ、ユーザー用にビルドされます。入力は不要です)

    pyenv install 3.6.0
  2. 必要に応じて後で他のユーザーを作成できるように、virtualenvにします

    pyenv virtualenv 3.6.0 general
  3. (ユーザーに対して)グローバルにアクティブにします

    pyenv global general
  4. Python / pipなどでやりたいことをやりましょう。それはあなた次第です。

ライブラリを後でクリーンアップする場合は、virtualenv(pyenv uninstall general)を削除するか、新しいライブラリを作成します(pyenv virtualenv 3.6.0 other_proj)。環境をディレクトリごとにアクティブにすることもできます。ファイルを現在のフォルダーにpyenv local other_projドロップし、.python-versionPythonまたはpipでインストールされたPythonユーティリティーをその中または下から呼び出すと、それらはpyenvによってシムされます。

トラブルシューティング

  • bash: pyenv: command not foundfish: Unknown command 'pyenv'

    1. あなたのを確認し$PATH、のようなもので終わるつのエントリがあるはずです.pyenv/bin。不足している場合は、上記のpyenvのインストールで#3 AND#4(シェルを再起動)を実行したことを確認してください。
  • pyenv: no such command 'virtualenv'

    1. インストーラースクリプトを使用しなかった場合、ルートpyenvパッケージのみをインストールした可能性があります。プラグインを追加する手順については、pyenv-virtualenvを参照してください
    2. インストーラスクリプトを使用した場合は、で表示されるかどうかを確認してくださいpyenv commands

1
Python 2.x(または新しいUnicode文字列の内部表現が発生する前の非常に古い3.xリリース)でpyenvを使用する場合、警告が1つあります。pyenvはデフォルトのアップストリームコンパイルフラグを使用し、16ビットUnicode文字列でビルドします。Linuxディストリビューションは通常、32ビットUnicode文字列で構築されます。pip wheelキャッシュのために、pyenvとnon-pyenv Pythonの両方にpipをインストールすると痛みが生じます。
マリウスゲドミナス

@mariusインストールした後、なぜpyenv以外のバージョンを使用するのですか?
ニックT

3
私にはわかりませんが、IRCの誰かがこれにより特定のPythonパッケージ(lxml?)が動作しなかった問題をデバッグする手助けをすることでこの問題を発見しました。そのため、実際には、一部の人々にとっては起こりますが、知る価値があります。(回避策はrm -r ~/.cache/pip/wheels/。)
マリウス・ゲドミナス

1
pyenvのPythonを必要とするすべてのユーザーのためにインストールする必要がありますか?同じPython 3.6バージョンを必要とする3人のユーザーがいる場合、3回コンパイルする必要があり、3倍のディスクスペースが必要ですか?それが本当なら、それはひどい…:/
セージ・ボルシュ

1
デフォルトで@SargeBorsch(pyenv-installerを使用する場合)はユーザーによるインストールですが、にインストールすること/optや何にでもシンボリックリンクを追加することを妨げるものは何もありません/bin。ユーザー専用であることが非常に便利だと思います。ユーザーはsudo(libs以外)を必要としません。ディスク容量は安いです。
ニックT

14

使用しているUbuntuのバージョンによって異なります。

Ubuntu 16.10およびUbuntu 17.04

Python 3.6はUbuntu 16.10およびUbuntu 17.04のユニバースリポジトリにインストールされているため、リポジトリからpython 3.6を直接インストールできます。以下のコマンドを使用してください。

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Ubuntu 16.04にPython3.6をインストールする方法は2つあります

  • Ubuntu 16.04でPython 3.6をコンパイルしてインストールします
  • PPAからUbuntu 16.04にPython 3.6をインストールします

1. Ubuntu 16.04でPython 3.6をコンパイルしてインストールします

必要な依存関係をインストールし、Python 3.6ソースコードをダウンロードし、環境を構築してインストールします

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. PPAからUbuntu 16.04にPython 3.6をインストールします

以下のコマンドを使用して、PPAからPython 3.6をインストールできます。

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Python 3.6が正しくインストールされている場合python3.6、ターミナルで実行してPythonインタープリターを呼び出すことができます。

これがお役に立てば幸いです。問題がある場合は、こちらのブログ投稿をご覧ください


2
これは基本的に、受け入れられた回答のコピーです。あなたの答えの付加価値はどこにありますか?
マークヴァンフーミッセン

2
Ubuntu 16.04の最初のステップは、何らかの理由でpython 3.6をコンパイルしてインストールしたい人向けです。Ubuntu 16.04でPython 3.6をコンパイルしてインストールするプロセスは、受け入れられた回答やスレッドに関する回答では利用できません。他のポイントは、Ubuntuのバージョンと、他の受け入れられている回答との違いを明確にすることです。
アリーアルビベック18年

1
16.04(Mint)にインストールされたPPAは壊れているように見えます。ソース情報からのインストールは便利です。
痴呆ハリネズミ

13

動作するリポジトリが見つからない場合の代替ルートは、ソースから自分でコンパイルしてみることです。あなたは見つけることができますダウンロードページのソースコードを。次に、tarballをダウンロードして展開します。たとえばPython-3.6.1.tgz

tgzファイルを展開するプロセスは次のとおりです。

tar -xvzf /path/to/yourfile.tgz

ファイルが解凍されたファイルパスに移動したら、次を実行します。

./configure
make
make altinstall

そして、うまくいけば、これで問題が解決するはずです。


4
質問は言う(id preferably not build it on my own)apt可能であれば、ルートに行く方が良いでしょう。
TheWanderer

わかりました、私はあなたのための代わりの貯蔵所を見つけることができるかどうか見ることを見る。代替リポジトリについては、Googleで自分で調べる機会がありましたか?あなたがすでに試したことを提案したくありません。
ジャストインタイムバーレイク

私はOPではありません。ただ提案をします。3.6のPPAが見つからなかったので、建物が必要なルートかもしれません。あなたはおそらくあなたの答えでそれに対処する必要があります。
TheWanderer

多くのパッケージが必要なため、makeコマンドはユーザーが何も作成したことのないシステムでは失敗します。「sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev」
ジョー

4

Ubuntu 15.10の場合、この方法を使用して正常にインストールしました。

sudo add-apt-repository ppa:jonathonf/python-3.6

しかし、私はこのファイルを編集しました:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

そして、私はwilytrustyに変更してから:

sudo apt-get update
sudo apt-get install python3.6

12
Ubuntu 15.10?それは数ヶ月前にEOLになりました。アップグレードの時間。
edwinksl


0

最初に、他の回答のいくつかに従ってPython 3.6または3.7をインストールします。すると、などは、PyPIパッケージをインストールする場合のOpenEXRを通過pipあなた若干の誤差が出ることがあります。それらの一部(OpenEXRのPyPiパッケージなど)は、新しくインストールしたPythonのPython開発パッケージをインストールすることで解決される場合があります。これは、以下を使用して実行できます。

sudo apt-get install python3.6-dev

または

sudo apt-get install python3.7-dev


0

おそらく、コンダが悪い考えではないことを示唆しています。少なくともpyenvを使用するよりも簡単だと思います。しかし、多分それは結局あなたがPythonで何をしようとするかに依存するのです。なぜなら、Condaではいくつかの余分なパッケージになるかもしれないからです。

編集:CondaのデフォルトバージョンのPythonをインストールした後、必要なバージョン、ここでは3.6を、次のcondaように使用してインストールできることを言及する価値があるでしょう

conda install python==3.6
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.