概要
「Head First Python 第2版」を進めていった中で考えたことの記録です。
Head First Python 第2版 ―頭とからだで覚えるPythonの基本
- 作者:Paul Barry
- 発売日: 2018/03/24
- メディア: 単行本(ソフトカバー)
自作モジュールをsite-packagesに追加する手順
- 配布ファイルの説明を作成する
- 配布ファイルを作成する
- 配布ファイルをインストールする
配布ファイルあれこれ
- 配布ファイルの説明について
- 配布ファイル(及びモジュール)と同じディレクトリに、
README.txt
という名前のテキストファイルとして作成する - 内容そのものは不問
- 内容が空であっても構わない
- 配布ファイル(及びモジュール)と同じディレクトリに、
- 配布ファイルについて
- 配布ファイルのインストールについて
pip
コマンドで行う
setup.pyを作成する
from setuptools import setup setup( name='vsearch', version='1.0', description='The Head First Python Search Tools', author='Head First Python 2e', author_email='hfpy2e@gmail.com', url='headfirstlabs.com', py_modules=['vsearch'], )
↑setup.py
の内容の一例(Head First Python 第2版 本誌より)。ポイント説明は以下。
- 標準モジュール
setuptools
から、setup
関数をインポートする必要がある - 配布パッケージに関する各種情報は、
setuptools.setup
関数のキーワード引数として与える
setuptools.setup
のキーワード引数の説明は以下。
name
- パッケージの名前
version
- パッケージのバージョン
description
- パッケージの説明
author
- パッケージの作成者
author_email
- パッケージ作成者の連絡先メールアドレス
url
- パッケージの公式情報が記載されたリソースのURL
- GitHubのプロジェクトページなどのURLを記入する
py_modules
- 公開するモジュールのファイル名
- 引数値はリストであるため、複数のファイル名を指定することもできる
↓setuptools.setup
コマンドの引数の説明にあたっての参考情報。ありがとうございます。
実際にモジュールをsite-packagesに入れる
配布パッケージを生成する
C:\Users\Head First\mymodules> py -3 setup.py sdist
py -3 setup.py
コマンドは、setup.py
が所在するディレクトリにて実行するsdist
は、「現在のプラットフォームにおけるデフォルトのアーカイブ形式で配布パッケージを生成する」というキーワード
C:\Users\Head First\mymodules> py -3 setup.py sdist running sdist running egg_info ... creating vsearch-1.0 creating vsearch-1.0\vsearch.egg-info ... creating dist Creating tar archive removing 'vsearch-1.0' (and everything under it)
↑私の環境におけるsetup.py
の実行結果
↓C:\Users\Head First\mymodules
というパスでvsearch-1.0
という配布パッケージを作成した場合、配布ファイルの本体は以下の圧縮tarアーカイブとなる。
C:\Users\Head First\mymodules\dist\vsearch-1.0.tar.gz
作成した配布パッケージをsite-packagesにインストールする
C:\Users\Head First\mymodules\dist> py -3 -m pip install .\vsearch-1.0.tar.gz Processing c:\users\rapidliner\desktop\mymodules\dist\vsearch-1.0.tar.gz Using legacy 'setup.py install' for vsearch, since package 'wheel' is not installed. Installing collected packages: vsearch Running setup.py install for vsearch ... done Successfully installed vsearch-1.0
- 既存の配布ファイルをsite-packageにインストールするには、
pip
コマンドを使用する - "Successfully installed (パッケージ名)"というメッセージが出れば、パッケージのインストールは成功