2012-03-30 8 views
2

私はシンプルなPythonモジュールを作成し、pipで配布したいと思っています。また、モジュールと一緒にBash補完ファイルをインストールしたいと思います。 Python 2.7.1+とpip 0.8.2でモジュールをインストールしています。distutils/pipと一緒にBash補完をインストールする

私はこのsetup.pyを持っている:私はpip install -e .でパッケージをインストールしようとした場合さて、Bashの完了ファイルはパッケージと一緒にインストールされることは決してありません

setup(
    name='jenkinsmon', 
    version='0.0.1', 
    description='Jenkins Job Monitor', 
    long_description=open('README.txt').read(), 
    scripts=['bin/jenkinsmon'], 
    data_files=[ 
     ('/etc/bash_completion.d', ['extras/jenkinsmon.completion']), 
    ], 
    install_requires = [ 
     'autojenkins', 
     'argparse' 
    ], 
) 

hereを説明したように、私はまた、MANIFEST.inを指定することで回避策を試してみました:

MANIFEST.in:

include extras/jenkinsmon.completion 

しかし、これはまた助けない - 完了ファイルがインストールされ得ることはありませんが。 Bash補完ファイルをインストールするにはどうすればよいですか?

答えて

0

私のエラー(一般的にpipドキュメントを読んでいるのではない)は、pip installのパラメータに-eを追加するだけでした。これは、「編集可能」モードでインストールすることを意味します。 --editableまたは-eオプションを使用してdocumentation

を引用すると、PIPはバージョン管理リポジトリから直接 をインストールする機能を持っている(これは現在、Mercurialの、Gitの、やバザールを Subversionをサポートしています):

pip install -e svn+http://svn.colorstudy.com/INITools/trunk#egg=initools-dev

それぞれのVCSのためのコマンドラインクライアントへのアウトこの オプションの殻、 ので、システムにインストールされVCSを持っていなければなりません。レポURLは、svn +(またはhg +、git +、またはbzr +)で始まり、#egg = packagenameで終了する でなければなりません。 これ以外の場合、pipはVCS自体でサポートされている同じURL形式とワイヤプロトコル をサポートします。

はピップ(すなわちpip_test_env/SRC/initools-DEV) virtualenvの内部のsrc /ディレクトリにソース・リポジトリをチェックアウトし、そのソース・リポジトリに開発のsetup.pyパイソン を実行します。これは、 のコードを直接virtualenvのサイトパッケージディレクトリに "リンク"します( をeasy-install.pthにrepoディレクトリを追加することにより)。 ソースチェックアウトの変更はすぐに有効になります。

は、同じ方法で に「editable」をインストールするには、pip install -e path/to/repoを使用するだけで、そのまま使用したいローカルVCSチェックアウトがある場合。

システムにパッケージを永続的にインストールするには、-rを削除する必要があります。その場合、Bash補完ファイルは期待通りにインストールされます。

1

MANIFEST.inには、ソースディストリビューションに追加するファイルのみが記述されています。それはインストールとは関係ありません。

python setup.py installを実行するとファイルがインストールされますか。 pipはsetuptoolsに依存しているので、たぶん1つの "egg"ディレクトリ/ zipfileにすべてをインストールするという動作を継承しているかもしれません。

+0

'python setup.py install'を実行すると、ファイルが実際にインストールされます。しかし、私はそれをリモートのGitリポジトリからインストールできるので、pipでインストールしたいのです。私はvirtualenvグループhttp://groups.google.com/group/python-virtualenv?hl=enで質問します – ifischer

関連する問題