私のアプリケーションをpip
-インストール可能にするための十字軍で、私はsetuptools
とdistribute
との大きな戦いを戦っています。依存関係は正しいと思います。つまり、pip install myapp
を使用してインストールすると、おそらく仮想環境が正しく満たされるはずです。ただし、開発を効率化したいので、空のvirtualenv
から始めて、setup.py test
(および後でsetup.py develop
)を作成することを目標としていますが、それはまったく異なる戦い)定義されたすべての依存関係でそれを埋めます。
そして今、私の問題になります。どんなに頑張っても、プロジェクトディレクトリに.Egg
sとしてインストールされている依存関係だけが、少なくとも最適ではありません。 setuptools
を使用する新しいpip
コマンドを作成しようとしましたが(これは厄介ですが機能しているようです)、それは真剣に解決策にはなりません(サブクラス化とオーバーライド)。
では、作業ディレクトリの代わりにsetup.py test
をvirtualevn
に入力するにはどうすればよいですか?
設計上、tests_requires
またはsetup_requires
エントリを仮想環境に入れることはできません。テスト/セットアップの実行に必要なものと、インストールされているパッケージを実際に使用するために必要なものを分離するという考え方です。たとえば、パッケージでテストを実行するために「coverage」モジュールが必要な場合がありますが、パッケージ内のどのコードでも使用されていません。したがって、テストを実行するときに環境に「カバレッジ」がない場合、パッケージで「カバレッジ」が必要ない場合は、「カバレッジ」を環境にインストールしたくありません。