7

プロジェクトに必要なすべての卵がディレクトリに事前にダウンロードされており、setuptools がそのディレクトリからのパッケージをインストールするようにしたいと考えています。

setup.cfgは持っています:

[easy_install]
allow_hosts = None
find_links = ../../setup

実行するpython setup.py developと、すべてのパッケージが正しく検出され、インストールされます。

テストのために、 で指定されている追加の要件がありますsetup.py

tests_require=["pinocchio==0.2"],

この卵も../../setupディレクトリにローカルに存在します。

私が実行するpython setup.py testと、依存関係が表示され、卵が../../setupうまく見つかります。ただし、卵は残りの卵のあるディレクトリではなく、現在のディレクトリにインストールされます。site-packages

コマンドラインとコマンドラインのinstall-dir両方を指定しようとしましたが、どちらもコマンドでは機能しないようです。setup.cfgtests

依存関係をセクションに追加することもできinstall_requiresますが、インストールとテストに必要なものはできれば分けておきたいと思います。

依存関係をセクションに保持しながら、ディレクトリtests_requireにインストールするにはどうすればよいですか?site-packages

4

1 に答える 1

3

ソース コード (setuptools/command/tests.py) を見るだけで、setup.py テストは設計上何もインストールしないように見えます (テスト中なので、サイト パッケージに何かを入れる必要はありません)。fetch_build_egg (setuptools/dist.py) を使用して卵を取得します。これにより、実際にはローカルの easy_install が実行されます。私はあなたがしたいことを簡単にテストすることはできないと思います。

メモ/アイデア: setuptools に関する私の経験では、バグと文書化されていない動作があります。(私が見つけた特に厄介なつまずきの 1 つは、distutils がソフトリンクされたディレクトリに入るとき、ソフトリンクされたディレクトリに入らないことでした)。

A)これを行わないことをお勧めします。:)、B) easy_install パッケージを呼び出してファイルを手動でインストールします。または C) setuptools システムを調べて、独自のコマンドを追加することもできます。理解するのはそれほど難しくありません。それを知っておくと、将来 setuptools の問題が発生したときに非常に役立ちます。

于 2009-12-04T07:03:49.623 に答える