- gitリポジトリに同梱する
- パッケージをディレクトリにまとめてhttpサーバーで公開する
- pypi相当のサーバーをたてる
pypi相当のサーバーをたてるのは大掛かりであるし、そこまですることもないと思うのでとりあえずここでは前者2つのことだけ書いておく。
あるプロジェクトでだけ必要であれば、gitリポジトリに同梱してしまうのがてっとり早い。
wheelパッケージを置いておくディレクトリは伝統的に(以前pip wheelのデフォルトのディレクトリ名がそうだったので) wheelhouse と呼ぶ。
wheelhouse にプライベートパッケージ hoge を置いた場合、以下のようにインストールする。
$ pip install hoge -f wheelhouse
-f は --find-links の短縮形で、指定されたディレクトリを先に探索し、見つからなければ pypi を探しに行く。
--find-links ではディレクトリ以外にも http などでリモートのサーバーを指定できる。
プロジェクトを横断して利用したいパッケージがある場合はこの方法を用いるとよいだろう。
簡単に公開してみるのであれば wheelhouse ディレクトリで python -m http.server (python2.7を利用しているなら python -m SimpleHTTPServer) を実行すればよい。
この簡易的なサーバーはディレクトリリスティングしてくれるので、 find-links に利用できる。
http://localhost:8000 を開いて、 wheelhouse 以下のファイルへのリンクを含む HTML が表示されるのを確認しておこう。
立ち上がったhttpサーバーが公開する hoge パッケージをインストールするには以下のようにする。
$ pip install hoge -f http://localhost:8000
あくまでこれは簡易的なサーバーであるため、実際に運用する場合は S3 などのクラウドストレージに置いたり(ディレクトリリスティングする方法は検討のこと)、
DirectoryIndex を有効にした apache を利用するのもよい。
専用のアプリケーションサーバーは不要なのでシンプルに始められる方法としておススメ。