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

推薦する

IdeaでTomcatを起動したときに複数のリスナーが報告される問題を解決する

エラーのスクリーンショット例外が発生した場所が見つかりません。解決策: リソースディレクトリにlog...

DockerコンテナはホストのMySQL操作にアクセスする

背景:インターフェイスを提供する Flask プロジェクトがあり、これは Docker コンテナを使...

iframeを指すaタグのターゲットの名前とIDの違い

コードをコピーコードは次のとおりです。 <iframe id="myFrameId&...

CSS セレクターの重みの理解(個人テスト)

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

Linux redis-Sentinel 設定の詳細

ダウンロードダウンロードアドレス: https://redis.io/download /usr/l...

MySQL 5.7を完全にアンインストールするための詳細な手順

この記事は主に、MySQLを再インストールする際のクリーンでないアンインストールのさまざまな問題をま...

Vue3 における ref と reactive の詳細な説明と拡張

目次1. 参照と反応1. 反応的2.参照2. shallowRef と shallowReactiv...

zabbix を使用して ogg プロセスを監視する (Linux プラットフォーム)

以前作成されたデータベースの ogg プロセスは、発見されるまでの約半月間ダウンしていました。起動で...

MYSQLストアドプロシージャコメントの詳細な説明

目次1. 使用方法2. 準備3. 文法3.1 変数と代入3.2 入力および出力パラメータ3.3 プロ...

MySQLの詳細な分析で使用法と結果を説明します

序文日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行す...

Linux SecureCRT の文字化けの解決方法

SecureCRT が文字化けした文字を表示する状況を見てみましょう。例えば: ではリセットしてみま...

ウェブページエクスペリエンス: 計画と設計

1. デザインの方向性を明確にする<br />まず、どのユーザーを対象にデザインするのか...

Linux 上でプライベート Git サーバーを構築するための詳細なチュートリアル

1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...

データベースSQL文の最適化

最適化する理由:実際のプロジェクトが開始され、データベースが一定期間稼働した後、初期のデータベース設...

vue.js 動的コンポーネントの詳細な説明

:動的コンポーネントv-bind:is="component name" を使用...