2013-04-05 10 views
7

別のパッケージbaseに依存するpipsetup.py)を使用してインストールするpythonパッケージmycodeを作成したいとします。私はsetup.py instructionsに従うと読み込みsetup.pysetup機能のエントリを作成このパッケージの依存関係incoporateするには:明示的なpythonパッケージ依存関係をsetup.pyで指定するには?

'requires': ['base'] 

を私はpython setup.py sdistでパッケージを作成した後に、私は正常にmycodeをインストールpip install、経由してそれをインストールしようとしましたbaseのものはありません。 setup.pyrequiresのエントリが無視されたようです。

何が問題になりますか?

答えて

10

代わりにinstall_requiresを指定する必要があります(New and changed setup keywordsを参照)。

requiresフィールドがあまりにも曖昧で不正確だったので、setuptoolsフォーク(pipが進化しているからそうeasy_installは、)より特定のフィールドを追加しました。さらに、setup.pyに必要な依存関係のフィールドとテストの実行には、setup_requirestest_requiresのフィールドがあります。

+0

ありがとうございました!しかし、これは、私がリンクしているドキュメントが役に立たないということですか?これは「公式な」文書の一部ではないのですか? – Alex

+0

パッケージの 'setuptools'ユニバースに' pip'が続きます。 'setuptools'の' distribute'フォークは[良い文書](http://pythonhosted.org/distribute/)を持っています。そして、[Hitchhikers Guide to Packaging](https:// the-hitchhikers-guide-to -packaging.readthedocs.org/en/latest/)もあります。 –

+0

しかし、はい、distutilsのドキュメントはdistutilsには正しいですが、distutilsには 'setuptools'が残っています。これを改善するために作品に「distutils2」があったが、その努力は現在停滞している、と私は思う。 –

関連する問題