「setup.pyテスト」卵は、インストール場所?
-
12-09-2019 - |
質問
私はすべての卵の私のプロジェクトを持っているディレクトリに事前にダウンロードし必要とし、私はの唯一のはそのディレクトリからパッケージをインストールするには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.cfg
を指定しようとしたとどちらがtests
コマンドのために働くように見えます。
私はちょうどinstall_requires
セクションに依存関係を追加することができますが、私はインストールし、可能ならば、別のテストのために必要とされるものを維持したいと思います。
どのように私はtests_require
セクションの依存関係を維持するが、それはsite-packages
ディレクトリにインストールされていることができますか?
解決
ただ、ソースコード(setuptoolsの/コマンド/ tests.py)を見て、それはデザインによって何もインストールすることになっていませんsetup.pyテストのようには見えません(それはなぜサイトパッケージで何かを入れ、テストしています?)。これは、実際に地元のeasy_installをしていた卵を、取得するためにfetch_build_egg(setuptoolsの/ dist.py)を使用しています。私はあなたが自明のテストは、あなたがやりたいことはできません疑います。
メモ/アイデア: setuptoolsの私の経験では、それはそれでバグや文書化されていない行動があるということです。 (私が見つけた一つの特に厄介なトリップアップ時にはdistutilsがだろう、それは、softlinkedディレクトリを入力しないだろうということでした)。
私はこれをやっていないのいずれかA)お勧めします。パッケージを手動でeasy_installを呼び出すことにより、ファイルをインストールする:)、B)。またはC)setuptoolsのシステムを覗くと、おそらくあなた自身のコマンドを追加。それを理解するにはあまりにも難しいことではない、とあなたは将来setuptoolsのの田舎アップを取得するとき、それは大いに役立つでしょう知っています。