Pythonは、オンデマンドで最も人気のある汎用プログラミング言語の1つです。これは、手続き型、オブジェクト指向、機能的プログラミングなど、さまざまなプログラミングパラダイムをサポートする、解釈された高レベルのプログラミング言語です。包括的な標準ライブラリのため、「pyにはバッテリーが付属している」とよく言われます。
初心者や科学者がさまざまな種類の活動に使用するため、広く使用されており、非常に用途の広いプログラミング言語です。これは、システムプログラミングとスクリプティング、反復タスクの自動化、WebサイトとWebアプリケーションの構築、機械学習アルゴリズム、データ分析などに使用されます。
このチュートリアルでは、Ubuntu 18.04 LTS BionicBeaverにPython3.7をインストールする方法を学習します。 Ubuntu 18.04マシンにインストールする主な方法は2つあります。1つはdeadsnake PPAを介してAPTパッケージマネージャーを使用する方法、もう1つはソースコードからコンパイルする方法です。
**APT(およびPPA)を使用して、ubuntu **にPython3.7をインストールします。
デフォルトでは、Ubuntu18.04にはPython3.6.9が付属しています。次のコマンドを実行すると、pythonバージョンを取得できます。
python3 --version
Python 3.6.9
python3-version Python 3.6.9最初に、Ubuntu18.04コンピューターのUbuntuパッケージリポジトリインデックスを更新する必要があります。これは、次のコマンドを実行することで実行できます。
$ sudo apt update
更新が完了したら、PPAをコンピューターに追加できるように、「software-properties-common」パッケージがコンピューターにインストールされていることを確認する必要があります。
$ sudo apt install software-properties-common
これで、次のコマンドを使用してDeadsnakesPPAを簡単に追加できます。
$ sudo add-apt-repository ppa:deadsnakes/ppa
最後に、必要なPPAをUbuntu 18.04コンピューターに追加した後、aptコマンドを使用してPython3.7をインストールするだけで済みます。
apt notifyコマンドの-yオプションは、自動yesオプションをプロンプトとして設定できます。
$ sudo apt install python3.7-y
Output
$ sudo apt install python3.7-y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython3.7-minimal libpython3.7-stdlib python3-distutils python3-lib2to3
python3.7-minimal
Suggested packages:
python3.7-venv python3.7-doc binfmt-support
The following NEW packages will be installed:
libpython3.7-minimal libpython3.7-stdlib python3-distutils python3-lib2to3
python3.7 python3.7-minimal
0 upgraded,6 newly installed,0 to remove and 321 not upgraded.
Need to get4,792 kB of archives.
After this operation,26.6 MB of additional disk space will be used.
Do you want to continue?[Y/n] y
Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 libpython3.7-minimal amd64 3.7.7-1+bionic1 [596 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-lib2to3 all 3.6.9-1~18.04[77.4 kB]
Get:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 python3.7-minimal amd64 3.7.7-1+bionic1 [1,839 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-distutils all 3.6.9-1~18.04[144 kB]
Get:5 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 libpython3.7-stdlib amd64 3.7.7-1+bionic1 [1,784 kB]
Get:6 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 python3.7 amd64 3.7.7-1+bionic1 [351 kB]
Fetched 4,792 kB in7s(737 kB/s)
Selecting previously unselected package libpython3.7-minimal:amd64.(Reading database ...134446 files and directories currently installed.)
Preparing to unpack .../0-libpython3.7-minimal_3.7.7-1+bionic1_amd64.deb ...
Unpacking libpython3.7-minimal:amd64(3.7.7-1+bionic1)...
Selecting previously unselected package python3.7-minimal.
Preparing to unpack .../1-python3.7-minimal_3.7.7-1+bionic1_amd64.deb ...
Unpacking python3.7-minimal(3.7.7-1+bionic1)...
Selecting previously unselected package libpython3.7-stdlib:amd64.
Preparing to unpack .../2-libpython3.7-stdlib_3.7.7-1+bionic1_amd64.deb ...
Unpacking libpython3.7-stdlib:amd64(3.7.7-1+bionic1)...
Selecting previously unselected package python3-lib2to3.
Preparing to unpack .../3-python3-lib2to3_3.6.9-1~18.04_all.deb ...
Unpacking python3-lib2to3(3.6.9-1~18.04)...
Selecting previously unselected package python3-distutils.
Preparing to unpack .../4-python3-distutils_3.6.9-1~18.04_all.deb ...
Unpacking python3-distutils(3.6.9-1~18.04)...
Selecting previously unselected package python3.7.
Preparing to unpack .../5-python3.7_3.7.7-1+bionic1_amd64.deb ...
Unpacking python3.7(3.7.7-1+bionic1)...
Processing triggers for mime-support(3.60ubuntu1)...
Processing triggers for desktop-file-utils(0.23-1ubuntu3.18.04.2)...
Setting up libpython3.7-minimal:amd64(3.7.7-1+bionic1)...
Setting up python3.7-minimal(3.7.7-1+bionic1)...
Processing triggers for man-db(2.8.3-2ubuntu0.1)...
Processing triggers for gnome-menus(3.13.3-11ubuntu1.1)...
Setting up python3-lib2to3(3.6.9-1~18.04)...
Setting up python3-distutils(3.6.9-1~18.04)...
Setting up libpython3.7-stdlib:amd64(3.7.7-1+bionic1)...
Setting up python3.7(3.7.7-1+bionic1)...
ここで、pythonが正常にインストールされていることを確認するために、pythonのバージョンを確認できます。
$ python3.7-V
Python 3.7.7
ソースコードからubuntuにPython3.7をインストールします
この方法では、ソースコードからコンパイルして、Ubuntu18.04コンピューターにPython3.7をインストールする方法を学習します。続行する場合は、特定の前提条件が満たされていることを確認する必要があります。まず、ソースコードのコンパイルに必要なビルドツールがコンピューターにインストールされていることを確認する必要があります。
これを行うには、最初にaptのローカルリポジトリインデックスを次のように更新する必要があります。
$ sudo apt update
ローカルリポジトリインデックスの更新に伴い、python3.7のコンパイルとインストールに必要な依存関係をインストールします。これを行うには、次のコマンドを実行する必要があります。
$ sudo apt install -y build-essential wget zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
すべての依存関係がインストールされて準備ができたら、wgetコマンドを使用して、次のように公式のpythonWebサイトから最新バージョンのPython3.7をダウンロードします。
$ wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
- - 2020- 03- 1716:19:44- - https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
Resolving www.python.org(www.python.org)...151.101.8.223, 2a04:4e42:2::223
Connecting to www.python.org(www.python.org)|151.101.8.223|:443... connected.
HTTP request sent, awaiting response...200 OK
Length:23161893(22M)[application/octet-stream]
Saving to: ‘Python-3.7.7.tgz’
Python-3.7.7.tgz 100%[===================>]22.09M 2.50MB/s in9.2s
2020- 03- 1716:19:54(2.41 MB/s)- ‘Python-3.7.7.tgz’ saved [23161893/23161893]
このチュートリアルを作成する過程で、python3.7のリリースが最新バージョン3.7.7でリリースされました。したがって、tarコマンドを使用してtgzファイルをダウンロードおよび抽出するだけです。
$ tar -xf Python-3.7.7.tgz
tgzファイルからソースコードを抽出した後、ディレクトリにcdし、configureスクリプトを実行して、コンパイルに必要な依存関係が満たされているかどうかを評価します。最適化フラグを有効にして、Pythonバイナリファイルを最適化し、コードの実行を10〜20%増やします。
$ cd Python-3.7.7
$ ./configure --enable-optimizations
checking if the dirent structure of a d_type field... yes
checking for the Linux getrandom() syscall... yes
checking for the getrandom()function... yes
checking for pkg-config... no
checking for openssl/ssl.h in/usr/local/ssl... no
checking for openssl/ssl.h in/usr/lib/ssl... no
checking for openssl/ssl.h in/usr/ssl... no
checking for openssl/ssl.h in/usr/pkg... no
checking for openssl/ssl.h in/usr/local... no
checking for openssl/ssl.h in/usr... yes
checking whether compiling and linking against OpenSSL works... yes
checking for X509_VERIFY_PARAM_set1_host in libssl... yes
checking for--with-ssl-default-suites... python
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Misc/python.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
configureスクリプトを正常に実行した後、altinstallパラメーターを指定してmakeコマンドを使用して、Ubuntu 18.04LTSコンピューターにpython3.7をインストールします。 altinstallパラメーターは、システムのデフォルトのpythonバージョンとしてインストールされないようにします。
$ sudo make altinstall
changing mode of/usr/local/bin/idle3.7 to 755
changing mode of/usr/local/bin/pyvenv-3.7 to 755
changing mode of/usr/local/bin/pydoc3.7 to 755
changing mode of/usr/local/bin/2to3-3.7 to 755
rm /usr/local/lib/python3.7/lib-dynload/_sysconfigdata_m_linux_x86_64-linux-gnu.py
rm -r /usr/local/lib/python3.7/lib-dynload/__pycache__
Creating directory /usr/local/share/man/man1
/usr/bin/install -c -m 644./Misc/python.man \
/usr/local/share/man/man1/python3.7.1if test "xupgrade"!="xno"; then \
case upgrade in \
upgrade) ensurepip="--altinstall --upgrade";; \
install|*) ensurepip="--altinstall";; \
esac; \
. /python -E -m ensurepip \
$ensurepip --root=/; \
fi
Looking in links:/tmp/tmp06ih2lq9
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-19.2.3 setuptools-41.2.0
これで、次のようにバージョンを確認することで、python3.7が正常にインストールされたかどうかを確認できます。
$ python3.7-V
Python 3.7.7
結論として
最後に、Ubuntu 18.04LTSコンピューターにpython3.7を正常にインストールしました。このチュートリアルの執筆時点では、Python 3.7の最新バージョンは3.7.7であるため、バージョン3.7.7をこのリリースの最新バージョンに置き換えることをお勧めします。これで、3.7用に記述されたpythonスクリプトとコードを簡単に実行できます。
Recommended Posts