2012-01-05 4 views
1

私はvirtualenvの作成を自動化し、要件ファイルからモジュールpip(およびその-rオプション)を介してモジュールをインストールしています。ピップ経由でインストールした後に、必要なモジュールのインポートをテストするにはどうすればよいですか?

一部のモジュールは正常にインストールされますが、環境内からのインポートにエラーがあることがわかりました。

requirements.txtに記載されているすべてのモジュールのインポートをテストするにはどうすればよいですか?

+0

「python -m module'で戻り値をチェックするのはもちろんですが、問題のモジュールを非対話的に実行する必要があります(また、*スクリプト自体が0) –

答えて

1

requirements.txtモジュール(インポート名前空間)がリストされていない場合は、「分布」(PyPI名前空間)がリストされます。それはあなたがすべてのモジュールを一覧表示するpkg_resourcesを使用し、それらをインポートしようとすることができ、言った:

import pkg_resources, setuptools 

for dist in pkg_resources.working_set: 
    for pkg in setuptools.find_packages(dist.location): 
     __import__(pkg) 

は、それはまだ、モジュールを「パッケージ」(Distutilsの用語)から移動するための方法を必要とします。

+0

ええ、それは私の質問の一部だったと思います。 pkg_resourcesを調べます。 –

0

なぜ:

$ python -c "import os" 

そして終了ステータス($?)をチェック!

+0

まあ、私は手動でモジュールのインポートをテストすることができますが、ポイントは異なる要件を持つ異なるvirtualenvをビルドしており、そのvirtualenvに必要なモジュールをテストしたいだけです。 pkg_resourcesを使用してモジュール情報を取得し、インポートをテストする必要があるようです。 –

関連する問題