web-dev-qa-db-ja.com

python 3.5が付属するUbuntu 16.04でpython 3.7を実行する最良の方法

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

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

20
benji

これで、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の複数のバージョンと、それらを区別する方法のスクリーンショットです。

How to call Python different versions

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

pip3.7 --version
37
Sn3akyP3t3

ソースコードのインストールとパスを手動でいじることはお勧めしません。 pyenv を使用して、問題を解決します。

あなたがしなければならないすべては:

  • pyenv installer を実行します
  • 指示に従ってください
  • 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を実行します。

4
slhck

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

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

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

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

0
Nasir Riley