5

dateutilパッケージインデックスから使用するプログラムがあります。setup.py でその存在を確認し、存在しeasy_installない場合は使用してみます。

のドキュメントにdistutilsrequiresは、キーワード inを使用してこれを実行できることが示されているようですが、試してみると、警告を表示したり、必要なパッケージをインストールしたりすることなくsetup()、システムにインストールされます。dateutil

私がグーグルで見つけたのは、同じ問題に関するこのブログ投稿だけで、これにも答えはありませんでした。

私はdistutils間違って使用していますか?自分でサブクラスdistutils.command.install化し、チェック/インストールを行う必要がありますか?

4

2 に答える 2

4

依存関係の自動ダウンロードは、サードパーティのアドオンであるsetuptoolsdistutilsによって導入された機能です。特に、install_requiresそれが追加する引数です。詳細については、setuptools のドキュメントを参照してください。

別のオプションは、パッケージ インストーラーとして 使用するのではなく、piprequirements.txtでファイルを使用することです。推奨されるインストーラーになりました。詳細については、Python Packaging User Guideを参照してください。easy_installpip

更新 [2015-01]: この回答の以前のバージョンは、 のdistributeフォークを参照していましたsetuptools。その後、フォークは新しいアクティブなプロジェクト distributeにマージされました。は現在死んでおり、使用すべきではありません。 現在、非常に積極的にメンテナンスされ、Python 3 をサポートしています。setuptoolsdistributesetuptoolspip

于 2012-05-23T04:04:27.310 に答える
0

distutils の setup 関数の引数install_requiresは、次のように sdist 分配を作成する場合にのみうまく機能します。python setup.py sdist

于 2013-05-19T15:27:24.027 に答える