- 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 を利用するのもよい。
専用のアプリケーションサーバーは不要なのでシンプルに始められる方法としておススメ。