LinuxにPython 3.6をインストールして落とし穴を避ける

LinuxにPython 3.6をインストールして落とし穴を避ける

Python 3のインストール

1. 依存環境をインストールする

Python3 はインストール プロセス中にさまざまな依存ライブラリを使用する可能性があるため、Python3 を正式にインストールする前に、まずこれらの依存ライブラリをインストールする必要があります。

yum -y インストール zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2. Python 3のソースコードをダウンロードする

Python3 のソースコードをダウンロードする方法は 2 つあります。1 つは公式 Web サイトからダウンロードする方法です。URL は次のとおりです。

https://www.python.org/downloads/source/

[写真]

別の方法としては、次のコマンドのように wget を介して直接ダウンロードする方法があります。

https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz を取得します。

3. インストールディレクトリを作成する

インストール ディレクトリは個人の好みに応じて作成できます。たとえば、ここでは /usr/local/python3 に作成されます。

mkdir -p /usr/local/python3

4. ソースパッケージを解凍する

手順 2 でダウンロードしたソース コード パッケージを解凍します。コマンドは次のとおりです。

tar -zxvf Python-3.6.1.tgz

5. ソースコードをコンパイルする

まず、解凍したソース パッケージのディレクトリに入り、それを設定します。

Python-3.6.1をインストールします
./configure --prefix=/usr/local/python3

次にコンパイルしてインストールします:

作る
インストールする

6. Python3のソフトリンクを作成する

python3 は、Python のバイナリファイルです。

7. /usr/local/python3/binをPATHに追加する

環境変数を変更するには、bash_profile を編集します。

vim ~/.bash_profile

Python3 の起動ディレクトリを PATH 変数に追加します。

# .bash_プロファイル
# エイリアスと関数を取得する
[ -f ~/.bashrc ]の場合;
  . ~/.bashrc
フィ
# ユーザー固有の環境と起動プログラム
PATH=$PATH:$HOME/bin:/usr/local/python3/bin
エクスポートPATH

変更が完了したら、Esc キーを押して :wq と入力し、保存して終了します。

8. Python3とPip3が利用可能かどうかを確認する

次のコマンドを実行します (注意: V は大文字です)。結果が一致していれば、Python 3 は正常にインストールされています。

[alvin@VM_0_16_centos ~]$ python3 -V
Python 3.6.1
[alvin@VM_0_16_centos ~]$ pip3 -V
/usr/local/lib/python3.6/site-packages から pip 9.0.1 (python 3.6)

落とし穴

実際、インターネット上には Python 3 のインストールに関する投稿が多数あり、手順もほとんど同じです。しかし、実際にインストールしてみると、特に初心者の場合、多かれ少なかれいくつかのトラブルに遭遇するでしょう。よくある落とし穴をいくつか挙げます。

落とし穴 1: configure: エラー: $PATH に適切な C コンパイラが見つかりません

この問題は比較的単純で、gcc コンパイル環境が不足していることです。 gcc をインストールするだけです:

yum install -y gcc

もちろん、これに加えて、ソースコードのインストール方法も使用できます。

落とし穴 2: zipimport.ZipImportError: データを解凍できません

この問題は、zlib 関連のツールキットが不足していることが原因です。関連する依存関係をパッケージ化するだけです。

yum -y zlib をインストールします*

インストール後、ソースコードを再コンパイルして問題を解決してください。

落とし穴 3: pip3: SSL モジュールが利用できないため、HTTPS URL に接続できません

この問題は、./configure プロセス中に –with-ssl パラメータを追加しないと、デフォルトでインストールされたソフトウェアの SSL 機能が使用できないというものです。たまたま pip3 プロセスでは SSL モジュールが必要なのですが、指定されていないため機能が使用できません。解決策は次のとおりです。

Python-3.6.2をインストールします
./configure --with-ssl
作る
sudo インストール

落とし穴4: Multilib バージョンの問題

これは明らかです。同じライブラリに複数のバージョンが存在します。余分なバージョンを削除するだけです。

まず、既存のバージョンを照会します(opensslを例にとり、競合するものを確認します)

# rpm -qa | grep openssl
openssl-devel-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.x86_64
openssl-1.0.0-27.el6_4.2.i686

システムに openssl-1.0.0-27.el6_4.2.x86_64 と openssl-1.0.0-27.el6_4.2.i686 の 2 つのバージョンの openssl がインストールされていることがわかります。保持する必要があるのは x86 バージョンだけです。

rpm --erase --nodeps openssl-1.0.0-27.el6_4.2.i686

opensslを再度更新します:

# yum update "openssl*"

openssl を再度確認すると問題は解決しました。

# rpm -qa | grep openssl
openssl-devel-1.0.1e-16.el6_5.7.x86_64
オープンSSL-1.0.1e-16.el6_5.7.x86_64

要約する

上記は、Linux で Python 3.6 をインストールし、エディターによってもたらされる落とし穴を回避するためのガイドです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux に Python 3.8.1 をインストールするための詳細なチュートリアル
  • Linux で Python 3.8 をアップグレードしてインストールし、pip と yum を設定するチュートリアル
  • Linux サーバーに Python3 をインストールする 2 つの方法
  • Linux で Python3 と対応する pip 環境をインストールするための詳細なチュートリアル
  • Linux に Python をインストールするときにデフォルトの Python バージョンを変更する方法
  • Linux での Python のアップグレードと pip のインストールの詳細な説明
  • Linux での Python 3.7.0 インストール チュートリアル
  • LinuxにPython3をインストールし、システム独自のPython2と共存させる方法

<<:  Mysql通信プロトコルの詳細な説明

>>:  JS で列挙をシミュレートする方法

推薦する

DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...

Vue の高度な使用方法チュートリアル 動的コンポーネント

目次基本的な説明AST 解析レンダリング機能通常コンポーネントと動的コンポーネントの比較ファクトリ関...

MySQLデータ行と行オーバーフローのメカニズムの詳細な説明

1. 行の形式は何ですか? MySQL の行形式の設定は次のように表示されます。 実際、MySQL ...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

MySQLのバッファプールの詳細な説明

MySQL のデータはディスクに書き込む必要があることは誰もが知っています。ディスクの読み取りと書き...

jQueryはテーブル行データのスクロール効果を実現します

この記事の例では、テーブル行データのスクロール効果を実現するためのjQueryの具体的なコードを参考...

Docker tomcatのメモリサイズを設定する方法

Docker に Tomcat をインストールする場合、大きなファイルをダウンロードするときなど、場...

Mysql データベースの日付と日時型でデフォルト値 0000-00-00 を設定するときに発生するエラー問題の詳細な説明

現象: MySQL バージョン 5.7 以降では、日付型と日付時刻型のデフォルト値が「0000-00...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

CSS3で線形グラデーションを実装するためのコードの詳細な説明

序文デモでは古いバージョンのブラウザのグラデーションが実装されています[IE9-]。 IE9 より前...

InnoDB ロック (レコード、ギャップ、Next-Key ロック) の詳細な説明

レコード ロックは、単一のインデックス レコードをロックします。レコード ロックは常にインデックスを...

MySQL 5.7.13 winx64 のインストールと設定方法のグラフィック チュートリアル (win10)

この記事では、参考までにMySQL 5.7.13 winx64のインストールと設定方法のグラフィック...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

MySQL データベース アカウントの作成、認証、データのエクスポートおよびインポート操作の例

この記事では、MySQL データベースでのアカウントの作成、認証、データのエクスポートおよびインポー...