python 3.5に付属しているUbuntu 16.04でpython 3.7を実行する最良の方法


17

バックポートを避けたいのですが、彼らはいつも私のパッケージを台無しにしているようです。

だから私はconda / virtualenv / dockerのようなツールが役立つかもしれないと考えていました。私のシステムでpython 3.7を使用する最も簡単でクリーンな方法は何ですか?


1
pyenvを調べる
Naftuliケイ

回答:


33

これにより、Ubuntu 16.04でPython 3.7を使用できるようになります。

# Install requirements
sudo apt-get install -y build-essential \
checkinstall \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
zlib1g-dev \
openssl \
libffi-dev \
python3-dev \
python3-setuptools \
wget

# Prepare to build
mkdir /tmp/Python37
cd /tmp/Python37

# Pull down Python 3.7, build, and install
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xvf Python-3.7.0.tar.xz
cd /tmp/Python37/Python-3.7.0
./configure
sudo make altinstall

次に、Pythonを次のように呼び出します。

python3.7 ./yourScript.py

これは、Dockerコンテナーに共存するPythonの複数のバージョンとそれらを区別する方法のスクリーンショットです。

Pythonの異なるバージョンを呼び出す方法

Pipもこのインストールでインストールされている必要があります。パッケージをインストールするには、次の形式を使用します。

pip3.7 --version

1
これは魅力のように機能します。python3.7をインストールできました。ディレクトリへのアクセスは通常のユーザーではないため、sudo make altinstallを使用することだけに注意してください。すべてのapt-getもsudoを使用してインストールされました。情報を共有してくれてありがとう。
Doogle

受け入れられた答えは、私にとってはうまくいきました。apt install libffi-devaltinstallステップ(Ubuntu 16.04 LTS)での次のエラーを回避するためにも私はしなければなりませんでした:python ModuleNotFoundError: No module named '_ctypes'
moshisushi

@moshisushi解決に向けて取り組んでいたときにも、この問題に遭遇しました。そのため、最初のインストールにはすでにlibffi-devが含まれています。
Sn3akyP3t3

1
@Doogle必要に応じて、sudoを使用したプレフィックス付きコマンド。それを指摘してくれてありがとう。これらの手順は、ルートユーザーを想定したDockerコンテナのビルド手順から引き出されました。
Sn3akyP3t3

2

ソースコードのインストールとパスを手動でいじることはお勧めしません。トラブルを使用pyenvして保存します。

あなたがしなければならないのは:

  • インストーラーを実行するpyenv
  • 指示に従ってください
  • 必要なPythonバージョンをインストールします
  • 特定のディレクトリに使用するPythonバージョンを選択するか、グローバルに選択します

たとえば、3.7をインストールするには、使用可能なバージョンを確認します。

pyenv install -l | grep 3.7

次に実行します:

pyenv install 3.7.1

これで、Pythonバージョンを選択できます。

pyenv global 3.7.1

これによりpython、ポイントが3.7.1に切り替わります。システムPythonが必要な場合は、次を実行します。

pyenv global system

利用可能なPythonバージョンを確認するには、を実行しpyenv versionsます。


0

www.python.orgからソースコードをダウンロードし、ソースからコンパイルおよびビルドしてから、次のいずれかを実行できます。

1)にpython実行可能ファイルへのパスを追加しPATH、ライブラリにを追加しますLD_LIBRARY_PATH

2)私がしたことをして、ソースからコンパイルしてビルドし、で実行可能ファイルへのシンボリックリンクを作成し/usr/binます。すでにインストールされているものpython37と区別するために呼び出すことができますpython 3.5

最初の方法ではデフォルトで環境で使用されますが、2番目の方法では、シンボリックリンクに使用したコマンドで指定する必要があります。python 3.7まだ開発中であるため、デフォルトにする前に、2番目の方法を最初に使用することをお勧めします。

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