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 で列挙をシミュレートする方法

推薦する

jsを使用してシンプルな虫眼鏡効果を実現します

この記事では、簡単な虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有します。具体的な内...

MySQLはインデックスプッシュダウンを数秒で理解するのに役立ちます

目次1. インデックスプッシュダウン最適化の原理2. インデックスプッシュダウンの具体的な実践1. ...

Dockerのオンラインおよびオフラインインストールと一般的なコマンド操作

1. テスト環境名前バージョンセント7.6ドッカー18.09.06 2. オンラインインストールここ...

MySQLで現在の時間間隔の前日のデータをクエリする

1. 背景実際のプロジェクトでは、分散スケジュールされたタスク実行の状況に遭遇することがあります。ス...

npmとcnpmを混在させる際の落とし穴の詳細な説明

目次原因理由NPM の紹介: CNPM の紹介:より良い方法方法の改善npm と cnpm を一緒に...

モバイルデバイスにおける適応レイアウトの問題に関する簡単な説明 (レスポンシブ、rem/em、Js ダイナミクス)

3G の普及により、携帯電話を使ってインターネットにアクセスする人が増えています。モバイル デバイ...

MySQL: MySQL 関数

1. 組み込み関数1. 数学関数ランド()丸め(数値) ceil(数値)階数(数値)ランダム丸め切り...

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

MySQL設定ファイルを変更できない問題の解決方法(Win10)

他の人のために解決した問題を記録します。問題の説明MySQLのバージョンは5.7、オペレーティングシ...

Dockerコンテナ終了エラーコードの手順

実行後、一部の Docker コンテナが終了することがあります。原因を調べるには、Docker コン...

mysql ワイルドカード (sql 高度なフィルタリング)

目次まず、値の一部と一致させるために使用される特殊文字であるワイルドカードについて簡単に紹介します。...

Xtrabackup を使用して MySQL をバックアップおよび復元する方法

目次1. バックアップ1.1 万全の準備1.2 追加の準備2 バックアップとリカバリ2.1 データの...

srcまたはcss背景画像のurl値はbase64でエンコードされたコードです

ウェブ上の一部の画像の src または CSS 背景画像 URL の後に、data:image/pn...

Founder フォント ライブラリの中国語と英語のファイル名比較表

Founder Type Library は、Founder Type Library ビジネス チ...

良いリファクタリングを行うには、コードをリファクタリングするだけでなく、人生をリファクタリングすることも重要です。

職業的な観点からも、人生の観点からも、良い再建をすることは本当に簡単ではありません。楽観的で熱心で前...