AI Technology Community
4.3、Pythonパッケージのインストール(3つの方法)
一部のPythonソフトウェアパッケージはシステムに付属しています。例えばsysです。これらのパッケージはPythonをインストールする際に自動的にインストールされます。しかし、一部のパッケージは自分でダウンロードしてインストールする必要があります。例えばPILです。これらのサードパーティのソフトウェアは、ソースコードの形式で提供されるものもあれば、インストールパッケージの形式で提供されるものもあります。
サードパーティのPythonパッケージをインストールする方法はたくさんあります。このセクションではいくつかの一般的な方法を紹介します。
1、ソースコードをシステムディレクトリにコピーする
最も簡単な方法は、Pythonソースファイルをsys.pathに含まれるいずれかのディレクトリにコピーすることです。こうすることで、「import ファイル名」と入力するだけで、そのパッケージをインポートできます。
以下のコードでsys.path変数に含まれるパスを確認します。
>>> import sys >>> sys.path ['', '/anaconda3/lib/python37.zip', '/anaconda3/lib/python3.7', # ここで使用するディレクトリ '/anaconda3/lib/python3.7/lib-dynload', '/anaconda3/lib/python3.7/site-packages', '/anaconda3/lib/python3.7/site-packages/aeosa']
ファイルdemo1.pyをディレクトリ/anaconda3/lib/python3.7にコピーすると仮定します。これは上記のコードの4行目で指定されたディレクトリです。このファイルの内容は以下の通りです。
""" just a demo package """ var_str = "love python" var_int = 88 def show_usage(): print("just to demo the package installation")
これでdemo1モジュールを使用できます。方法は以下の通りです。
>>> import demo1 >>> demo1.var_int 88 >>> demo1.__doc__ ' just a demo package\n' >>> demo1.var_str 'love python' >>> demo1.show_usage() just to demo the package installation
2、PIPを使用してインストールする
最近では、PIPが人気のインストールツールです。このツールは一般的にPythonをインストールする際に正常にインストールされるため、別途インストールする必要はありません。PIPはクライアント側のインストールツールで、インストールパッケージはPyPIから取得されます。PIPはPyPIからインストールパッケージをダウンロードし、自動的にローカルにインストールします。
Pythonソフトウェアパッケージの作成者は、PyPIアカウントを持っている必要があります。これにより、自分が作成したPythonパッケージをPyPIにアップロードし、他のユーザーが使用できるようにすることができます。一方、一般ユーザーはPyPIアカウントを登録する必要はありません。ローカルにPIPクライアントプログラムがあれば十分です。
PIPは、インストール、アンインストール、インストール済みのソフトウェアパッケージの一覧表示などの機能を提供します。以下では、これらの一般的な機能について説明します。
1) インストール
インストールには、バージョン情報を指定しない場合と、バージョン情報を指定する場合の2つの一般的なコマンドがあります。それぞれの形式を以下に示します。
pip install パッケージ名
pip install パッケージ名==バージョン番号
すでにインストール済みのパッケージのバージョンを変更したい場合は、以下のコマンドを使用します。
pip install --upgrade パッケージ名==バージョン
以下は、Pythonパッケージlin-demoをインストールする例です。
$ pip install lin-demo Collecting lin-demo # lin-demoパッケージの関連情報を取得する Downloading https://files.pythonhosted.org/packages/87 # インストールパッケージをダウンロードする /35/985a9e7d7fd66bfe82c3c83092bb14d23105e15b5738e02b6c761737c8a8/ lin_demo-0.0.1-py3-none-any.whl Installing collected packages: lin-demo # インストールする Successfully installed lin-demo-0.0.1 # インストール成功。インストールされたバージョンを表示する
PyPIはオープンソースプロジェクトであるため、一部の企業では独自のPyPIサーバーを構築しています。一部の専用パッケージは、企業独自のサーバーからしか取得できない場合があります。この場合、デフォルトのサーバーではなく、PyPIサーバーの情報を指定する必要があります。以下のコマンドで、インストールパッケージのソースを指定できます。
pip install --index-url パッケージのソース パッケージ名
一度に多くのソフトウェアパッケージをインストールする場合、特に開発環境や実行環境を構築する際に、1つずつインストールコマンドを実行するのは面倒です。
この場合、インストールするパッケージをテキストファイル(例えばrequirements.txt)に記述し、そのテキストファイルを入力として使用することで、テキストファイルに記載されたPythonパッケージを一度にインストールできます。これはバッチ処理コマンドであり、形式は以下の通りです。
pip install -r パッケージリストファイル
パッケージリストを含むテキストファイルの形式も簡単です。一般的には、1行に1つのパッケージ名とバージョンを「パッケージ名==バージョン」の形式で記述します。以下はその例です。
CherryPy==13.0.0
Jinja2==2.10
MySQL-python==1.2.5
Routes==2.4.1
SQLAlchemy==1.1.15
Werkzeug==0.13
hpc==0.2.725
requests==2.18.4
2) アンインストール
アンインストールは比較的簡単です。1台のマシンには、あるソフトウェアパッケージの特定のバージョンしかインストールできず、それは必ずローカルにインストールされているため、アンインストールコマンドにはバージョン指定やソース指定のパラメータはありません。以下は、あるパッケージをアンインストールするコマンドの形式です。
pip uninstall パッケージ名
3) インストール済みのパッケージを確認する
時々、import文を実行すると例外が発生することがあります。これは、あるソフトウェアパッケージがインストールされていないか、インストールされているバージョンが正しくない可能性があります。この場合、以下のコマンドで、ローカルにインストールされているすべてのPythonパッケージを確認できます。
pip freeze
以下はその例です。
$ pip freeze
alabaster==0.7.12 # 0.7.12はバージョン情報
allure-pytest==2.7.0
allure-python-commons==2.7.0
anaconda-client==1.7.2
… # その他のインストール済みのPythonパッケージ
anaconda-navigator==1.9.7
anaconda-project==0.8.2
appnope==0.1.0
4) あるパッケージの詳細情報を確認する
あるパッケージの具体的な機能や、それが依存しているパッケージの情報が不明な場合、以下のコマンドでそのパッケージの詳細な説明を確認できます。
pip show パッケージ名
以下はその例です。
$ pip show SQLAlchemy
Name: SQLAlchemy
Version: 1.2.11 # バージョン情報
Summary: Database Abstraction Library
Home-page: http://www.sqlalchemy.org
Author: Mike Bayer
Author-email: mike_mp@zzzcomputing.com
License: MIT License
Location: /Library/Python/2.7/site-packages # インストール位置
Requires: # それが依存しているパッケージ
Required-by: # そのパッケージに依存しているパッケージ
5) サーバー上のパッケージ情報を確認する
コマンドラインを使用してパッケージを検索できます。コマンドラインの形式は以下の通りです。
pip search パッケージ名
すると、指定したパッケージ名に類似するパッケージの情報(バージョンや説明情報を含む)が表示されます。以下は、demoという文字列が含まれるパッケージの情報を検索する例です。
$ pip search demo # demoに
10
item of content
異なるPythonファイルは異なるモジュールに対応し、同じディレクトリ内の複数のPythonファイルの集合が1つのパッケージとなります。
この章では、読者にPythonのモジュールとパッケージの概念と定義を説明し、合わせてサードパーティのPythonパッケージの様々なインストール方法と使用法を紹介します。
- 441hits
- 0replay
-
0like
- collect
- send report