15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CentOS8 で Python3.8 と pip を使うための初期設定

Last updated at Posted at 2020-07-09

yumとdnf

CentOS8からは、7までと違って、yumコマンドを使いません。
ゴリ押しで、yumを使うこともできますが、おすすめしません。
後継となったdnfコマンドを使っていきます。

基本的には、yumコマンドとほとんど同じ使い方でOK
簡単にどんなところが違うかというと...

  • yumコマンドはPython2系で動いている
  • dnfコマンドはPython3系で動いている

Python3系で動かそうとするのは必然かなと

Python3.8をインストールする

$ sudo dnf install python38 -y

####解説

  • sudo
    • 管理者にコマンドを実行させるおまじない
  • dnf
    • 前述したyumの後継
  • install
    • インストールするおまじない
  • python38
    • インストールしたいパッケージ名を指定 (Pythonの場合は、python2, python36, python38など)
  • -y
    • 実行後に出てくるy/n?にすべてyを返す

コマンドを改めて見てもわかる通り、yumコマンドと大した差はありませんね

Python3.8のバージョンを確認

//どっちかでおっけい
$ python3.8 --version 
Python 3.8.0
$ python3.8 -V
Python 3.8.0

####解説

  • python3.8
    • pythonで標準として選択しているバージョンが呼ばれますが、python3.8のようにバージョンを指定することで任意のバージョンを呼び出せます (自身の環境にどのバージョンが入っているか見るなら、pythonまで打ち込みTabキーを2回押すと見れます)
  • --version
    • バージョンを出力するオプションです (-Vでも代行可能)
  • -V
    • バージョンを出力するオプションです (--versionでも代行可能)

###pipのバージョンを確認

//どっちかでおっけい
$ pip3.8 --version
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)
$ pip3.8 -V
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)

####解説

  • pip3.8
    • python同様に、バージョンを指定できます.また、pipはpythonをインストールすることで、対応するバージョンが付いてきます
  • --versionと-Vは前述同様です

###Python3.8をPythonで実行するために
毎回バージョンを指定しなきゃいけないのは億劫ですよね、そこで、デフォルトで3.8を使うように設定していきます

$ alternatives --config python

3 プログラムがあり 'python' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/libexec/no-python
   2           /usr/bin/python3
   3           /usr/bin/python3.8

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 3 //選択したい環境に合わせて、対応する数値を入力

####解説

  • alternatives
    • 標準コマンドの切り替えなどが行えるコマンドです (Windowsの既定のアプリを選択できる感じ)
  • --config
    • 設定を変更できます
  • python
    • この部分にパッケージ名を指定することで、そのパッケージのプログラムを一覧表示します

コマンドの部分に一覧されたプログラムの中から、標準で使いたいプログラムを選び、その番号を入力します
これによって、今までpython3.8と入力していたコマンドを、pythonのみで3.8のpythonが実行されます

###pip3.8をpipで実行するために
python3.8 -> pythonの手順では変更できず、別のコマンドを使うことになります

$ sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3.8 1

####解説

  • update-alternatives
    • コマンドの名前を変更すること等ができる (見かけ上の名前)
  • --install
    • alternatives等で一覧するパッケージグループに追加する
  • /usr/bin/pip
    • この部分には、シンボリックリンクの作成先を指定 (今回はpip)
  • pip
    • この部分はプログラムの名前だと思いますが、私も詳しくわかっていないのでコメントくださるとうれしいです
    • 下記インフォにて追記情報を引用させていただいております。

登録するときの名前じゃないですかね。管理上の。

  • /usr/bin/pip3.8
    • 追加したいプログラムが実際に格納されている場所を指定 (今回はpip3.8)
  • 1
    • この部分も、詳しくわかっていないです. コメントくださるとうれしい...
    • 下記インフォにて追記情報を引用させていただいております。

###注意点
自分で手探りでpipを設定しようとしていた時に起きたので注意なのですが、下記コマンドで表示されているディレクトリは、実際にupdate-alternativesで指定するディレクトリでは無い、という点に注意です

$ pip3.8 -V
pip 19.2.3 from /usr/lib/python3.8/site-packages/pip (python 3.8)

###あとがき
上記までの手順で、無事にpythonとpipを扱いやすくできました。
これのおかげでAnsibleの勉強がしやすくなることでしょう、、

Twitter

15
11
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?