2012-01-26 9 views
2

はじめ (pypi.orgを通じて配布など)公式Pythonパッケージpython-openidでは、Google Appsでは動作しません。誰かがこれに修正を書いてをgithubにアップロードしました。今、私はこのフォークされたパッケージにリンクするべきパッケージを作りたいと思っています。ピルプフリーズを破ることなく、distutilsのforkedパッケージにリンクするには?

このパッケージをインストールすると、すべてがうまくいきます。フォークされたパッケージがインストールされていて、すべて正常です。しかし、pip freezeを実行しているときに、パッケージがどこから来たのかは言及されていません。フォークされたパッケージを使用する必要があるため、公式のパッケージを含めて展開が中断されます。私自身のパッケージ内のフォークされたパッケージにリンクするにはどうすればいいですか?また、フォークされたパッケージをpip freezeにリストするには?

更新

[OK]を、ので、私は、ディストリビューションを作成し、githubにアップロードし、タグ2.2.5-bouke0を作成しました。マイsetup.py参照パッケージのは、次のようになります。

dependency_links=[ 
    'http://github.com/Bouke/python-openid/downloads', 
], 
install_requires=[ 
    'python-openid == 2.2.5-bouke0', 
], 

構築し、このパッケージのすべてをインストール結構です。参照されたパッケージはgithubからダウンロードされ、正しくインストールされます。パッケージはどこから来たのかしかし、pip freezeは表示されません:バージョン2.2.5-bouke0はは、PyPI上で見つけることができないとして

django-federated-login==0.1.3 
python-openid==2.2.5-bouke0 

、そのようrequirements.txtの展開は失敗します。 pip freezeに、パッケージの入手先の代替ソースを参照するように指示するにはどうすればよいですか?

答えて

1

タグ2.2.5をリポジトリに作成します。

-f https://github.com/adieu/python-openid/downloadsrequirements.txtファイルに入れます。

バージョン番号を2.2.5-bouke1のように変更してください。詳細については、semver.orgを参照してください。

+0

Ah; pipがそのURLでのダウンロードを探すように、 '--find-links'ディレクティブをrequireファイルに含める必要があります。 [要件ファイルの形式](http://www.pip-installer.org/en/latest/requirements.html#indexes-find-links)の詳細。 – bouke

+2

ちなみに、 '-r'オプションでも同じことができます。これにより、要件ファイルの継承を得ることができます。例えば、通常は 'requirements/base.txt'、' requirements/production.txt'と 'requirements/development.txt'を作成します。最後の2つは最初の行に '-r base.txt'を持っています。 –

関連する問題