前回までで、自分だけで使うプログラムでのパッケージ化ができるようになりました。
また、誰かが作ったパッケージを使わないのであれば、このやり方で十分です。
- これまでの道のり
- 自作モジュール作成 1 別ファイルの取り込み
- 自作モジュール作成 2 複数モジュールをパッケージにまとめる
- 自作モジュール作成 3 同一階層ディレクトリ中ファイルのインポート
- 自作モジュール作成 4 パッケージを直接インポートする(前回)
エキスパートPythonプログラミングを読んでみたのだが
『エキスパートPythonプログラミング』の第5章によると、
「前章では、アプリケーションコードをeggを使って複数のパッケージに分割する方法を見てきました。」
とあります。
ところが、いくら第4章を見ても、『4.7.4 eggの使用』というのがちょこっとあるだけで、よくわかりません。
アマゾンレビューによれば、『エキスパートPythonプログラミング』は軟弱プログラマーお断りなので、私に理解できないだけなのかもしれません。
Python道を極めた達人であれば、本書の説明だけでも分かるのかな?
でも、それほどの達人であれば、Eggの使い方ぐらいはマスターしていそうだし。
まあ、悩んでてもしょうがないので、軟弱な私はグーグル先生をあたることにしました。
Python界隈のカオス
しかしながら、巷にあふれているPython解説サイトは、Python 2系のものがほとんどなので、これをPytho 3系に翻訳しなければなりません。
また、Pythonで使用されている標準ツールが、歴史的な経緯で頻繁に変わっているようなので、現在のトレンドが何なのかということにも注意する必要があります。
Python界隈では、Pythonのバージョンと標準ツールの組み合わせがかなり入り乱れているようで、何が本当なのかがよくわかりません。
Aブログで、「パッケージ化には、○○を使え!」と書いてあるかと思えば、Bブログでは「○○を使ってパッケージ化するのは推奨しない」と書かれてあったりで、軟弱プログラマーの私は、涙がこぼれそうになります。
気持ち新たにEggを使うための基本技術
■メモ
・virtualenvコマンドで独自開発環境を構築する。
・virtualenvのインストール
$ sudo `which pip3` install virtualenv
・独自開発環境の構築
$ virtualenv myenv1
--no-downloadオプションをつけると、PyPIからプレインストールされたパッケージをダンロード(インストール?)しない。
$ virtualenv --no-download myenv2
--no-downloadなしのとき。
パッケージを調べる。
$ cd myenv1 $ souce bin/activate $ pip list --format=columns Package Version ---------- ------- appdirs 1.4.3 packaging 16.8 pip 9.0.1 pyparsing 2.2.0 setuptools 34.3.1 six 1.10.0 wheel 0.29.0
--no-downloadありのとき。
パッケージを調べる。
$ cd myenv2 $ souce bin/activate $ pip list --format=columns Package Version ---------- ------- pip 9.0.1 setuptools 28.8.0 wheel 0.29.0
・Eggを一から作るのは面倒なので、pasterというコマンドを使う。
・pasterコマンドは、PasteScriptというパッケージをインストールすれば使うことができる。
$ pip install PasteScript
または、
$ easy_install PasteScript
easy_installコマンドでインストールしたパッケージはアンインストールできないので、pipコマンドを使う方がおすすめらしい。
・パッケージのアンインストール
$ pip uninstall PasteScript
長くなったので、今回はここまで。