プロジェクトの作成

「プロジェクト」は,Pythonコード内でimportされるパッケージに付加情報を合わせたものです.ひとつのプロジェクトに対して,ひとつのGitHubレポジトリを対応させます.まずは,GitHubに新規にレポジトリを作成します.レポジトリの名前はプロジェクト名と同じくtakuhaiです.新規作成の際には,

  • [x] Initialize this repository with a README
  • Add .gitignore: [None]
  • Add a license: [MIT License]

を選んでおきます.次にレポジトリをローカルPCにクローンします.

(takuhai) > cd C:\Users\daizu\Documents\GitHub
(takuhai) > git clone https://github.com/daizutabi/takuhai.git

C:\Users\daizu\Documents\GitHub\takuhaiディレクトリが作成されました.

パッケージの作成

takuhaiパッケージは以下の機能を提供します:

  • 静的サイトジェネレータPelicanを使ってサイトを生成します.
  • プロジェクト内の文書が変更されたら自動でサイトを更新します.
  • サイトの更新があったら,ブラウザをリロードして最新のページを表示します.

実際に使ってみましょう.そのためには,takuhai環境下にインストールする必要があります.

Note

もちろん,環境変数PYTHONPATHtakuhaiディレクトリを追加すればパッケージをインストールしないでも実行できます.しかし,ここではあえてこの方法を避けて,余計な環境変数を作らない方針をとります.Pythonを実行するために,環境変数PATHにも一切ふれていないことを思い出してください.

設定ファイルの作成

パッケージをインストールするために必要な設定ファイルを作成していきましょう.詳しくは,「Python Packaging User Guide」「プロジェクトのパッケージングと配布」を参照してください.まずは必須となるsetup.pyを準備しました.setup.pytakuhaiレポジトリの直下に置きます.

作業用にインストール

ここまで準備できたら,パッケージをインストールすることができます.setup.pyがあるディレクトリで以下を実行します.オプション-eをつけることで,「編集可能」な作業用としてインストールします.

(takuhai) > pip install -e .

takuhaiパッケージの中のmain.pyを実行してみます.

(takuhai) > cd takuhai
(takuhai) > python main.py
Usage: main.py [OPTIONS] COMMAND [ARGS]...
(後略)

main.pytakuhaiパッケージの中のmain.pyとしてではなく,単なる一つのPythonスクリプトとして実行されていることに留意しましょう.

setup.pyで指定しておいた実行コマンドも使えるようになっています.

(takuhai) > takuhai
Usage: main.py [OPTIONS] COMMAND [ARGS]...
(後略)

コマンドtakuhaiの実行ファイルは,

C:\Users\daizu\Miniconda3\envs\takuhai\Scripts\takuhai.exe

です.試しにアンインストールしてみましょう.

(takuhai) > pip uninstall takuhai

上記のtakuhai.exeが消去されるのが分かると思います.

別のPythonプログラムからtakuhaiパッケージを使うこともできます.

(takuhai) > python
>>> import takuhai
>>> takuhai.__file__
'c:\\users\\daizu\\documents\\github\\takuhai\\takuhai\\__init__.py'

インストールといっても,今回は作業用にインストールしたので,別の場所にコピーが作られているわけではありません.takuhaiディレクトリ以下のファイルがそのまま使われています.sys.pathを見てみましょう.

>>> import sys
>>> for path in sys.path:
...     print(path)

C:\Users\daizu\Miniconda3\envs\takuhai\python36.zip
C:\Users\daizu\Miniconda3\envs\takuhai\DLLs
C:\Users\daizu\Miniconda3\envs\takuhai\lib
C:\Users\daizu\Miniconda3\envs\takuhai
C:\Users\daizu\Miniconda3\envs\takuhai\lib\site-packages
c:\users\daizu\documents\github\takuhai

sys.pathの最後に作業ディレクトリが追加されています.先ほどと同じようにtakuhaiパッケージをアンインストールすると,sys.pathからtakuhaiパッケージへの参照がなくなります.