0
0

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 1 year has passed since last update.

EnvaderでPythonの環境構築を学んだのでmacOSで実践してみる(第3回)

Last updated at Posted at 2022-04-19

はじめに

はじめましてa-min3150です。エンジニアへの転職を目標に学習中です。
アウトプットのためEnvaderで学習したこと、ハマったことなどを書いていきたいと思います。

今回の学習内容

EnvaderでPythonの環境構築について学習したのでアウトプットします。

今回は第3回目でpipコマンドの使い方についてです。

第1回(Pythonとは)はこちら
第2回(pyenvについて)はこちら
第4回(venvについて)はこちら
第5回(virtualenvについて)はこちら
第6回(requirements.txtの使い方)はこちら
第7回(git cloneの使い方)はこちら

pipコマンドとは

pipコマンドはpythonのパッケージをインストールするために使用するコマンドです。

パッケージとは何かについては下記のリンクを参照してください。

macOSでpipを使えるようにするには

前回のときにpyenvコマンドを使ってインストールしたPythonと同時にpipもインストールされています。
pip -Vで確認してみましょう。

pip -V
pip 21.2.4 from /Users/user/.pyenv/versions/3.10.2/lib/python3.10/site-packages/pip (python 3.10)

上記のようにバージョンが表示されれば、パスも通っておりpipコマンドが使える状態となります。

pipを使ったパッケージのインストール

パッケージをインストールしたいときは、 pip install の後にパッケージ名を入力し実行することでインストールできます。

> pip install パッケージ名

パッケージのアップグレード

パッケージを最新版にアップグレードしたいときは、 pip install の後にライブラリ名を入力し実行することでアップグレードできます。

> pip install --upgrade パッケージ名

最新版か確認するときは pip list の後に --outdatedをつけて実行することで、最新版でないバージョンのみを表示することができます。

> pip list --outdated

バージョンを指定してインストール

パッケージ名の後に == とつけてその後にバージョンを記入することで、バージョンを指定してインストールすることができます。
最新バージョンが不安定な時や、特定のバージョンでないと動作しない時などに利用します。
逆に以前のバージョンを指定すればダウングレードをすることも可能です。

> pip install パッケージ名==バージョン

以下のように入力することでインストール可能なバージョンを確認することもできます。

> pip install パッケージ名==

パッケージのアンインストール

パッケージをアンインストールしたいときは、 pip uninstall の後にパッケージ名を入力し実行することでアンインストールできます。

> pip uninstall パッケージ名

インストール済みのパッケージの確認

pip list を実行することで既にインストールされているパッケージを確認することができます。また、pip freezeを実行するとパッケージとバージョンを確認することができます。

> pip list 
> pip freeze

バージョンの控えを取る方法

パッケージの中には、他のパッケージの特定のバージョンのみに対応している物もあります。その場合にパッケージをアップグレードしたときに、正常に動作しなくなってしまうかもしてません。そのような時のために通常バージョンの控えを取っておきます

控えの取り方は先ほど紹介した pip freeze を使用します。実行すると今インストールしているパッケージとバージョンが出力されるので、その出力をテキストファイルに保存することで各バージョンの控えを作成します。また、保存しておくテキストファイルは基本 requirements.txt という名前のファイルを使用します。

$ pip freeze > requirements.txt
# requirements.txt の中身
asgiref==3.5.0
beautifulsoup4==4.10.0
Django==4.0.2
django-bootstrap5==21.3
django-jquery==3.1.0
fontawesomefree==6.0.0
PyMySQL==1.0.2
soupsieve==2.3.1

このようにバージョンの控えを作成しておくことで、正常に動作しなくなった場合でも元のバージョンに戻すことができます。

> pip install -r requirements.txt

pip install の後に -rrequirements.txt を入力し実行することで控えて置いたバージョンに戻せます。

バージョンの控えは開発をする時や、githubやアプリケーションを公開するときに必ず利用するので、よく理解しておきましょう。

macOSでpipコマンドを実践してみる

PythonのフレームワークであるFlaskを下記リンクのやり方を元にインストールをしていきます。

仮想環境venvを起動してpip listを実行。
(venvの使い方についてはこちらを参照ください)
pipとsetuptoolsのみがインストールされていることが確認できました。

(venv)   macOS:test_pip user$ pip list
Package    Version
---------- -------
pip        21.2.4
setuptools 58.1.0
WARNING: You are using pip version 21.2.4; however, version 22.0.4 is available.
You should consider upgrading via the '/Users/user/Desktop/test_pip/venv/bin/python -m pip install --upgrade pip' command.

pipのバージョンが古いですよと警告が出たので--upgradeコマンドを実行

(venv)   macOS:test_pip user$ pip install --upgrade pip
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (21.2.4)
Collecting pip
  Using cached pip-22.0.4-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.2.4
    Uninstalling pip-21.2.4:
      Successfully uninstalled pip-21.2.4
Successfully installed pip-22.0.4//upgradeできた

バージョンを指定してFlaskをインストールする

(venv)   macOS:test_pip user$ pip install flask==2.0.3

インストールされたか確認


(test) macOS:test_venv user$ pip list
Package      Version
------------ -------
click        8.1.2
Flask        2.0.3
itsdangerous 2.1.2
Jinja2       3.1.1
MarkupSafe   2.1.1
pip          22.0.4
setuptools   58.1.0
Werkzeug     2.1.1

Flaskのバージョン2.0.3とそれに関連したパッケージが一緒にインストールされているのを確認できました。

Flaskが最新バージョンかどうか確認する。


(test) macOS:test_venv user$ pip list --outdated
//最新バージョンは2.1.1.があると教えてくれる。
Package    Version Latest Type
---------- ------- ------ -----
Flask      2.0.3   2.1.1  wheel

インストールしたパッケージのバージョン情報をrequirements.txtに保存する。

(test) macOS:test_venv user$ pip freeze > requirements.txt
//requirements.txtの中身を確認する。
(test) macOS:test_venv user$ cat requirements.txt
click==8.1.2
Flask==2.0.3
itsdangerous==2.1.2
Jinja2==3.1.1
MarkupSafe==2.1.1
Werkzeug==2.1.1

以上のようにpipコマンドを使えば、インストールしたパッケージを管理できるようになります。
皆さんも自分のPCで実践してみてください。

まとめ

  1. pythonパッケージをインストール(pip install)する方法
  2. pythonパッケージをアップグレード(pip upgrade)する方法
  3. pythonパッケージをアンインストール(pip uninstall)する方法
  4. インストール済みのパッケージの確認(pip list pip freeze)する方法
  5. requirements.txt でのインストールしたバージョンの保存方法
    について解説しました。

pipコマンドは仮想環境を作って使用することで、「システム全体にインストールする場合(global)」と「仮想環境下のみでインストールしたい場合(local)」を分けることができ、また仮想環境ごとに独立させてパッケージを管理できるようになります。

次回はvenvコマンドでの仮想環境について解説します。

引用サイト

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?