2017-08-14 5 views
0

私はプロジェクトのvirtualenv requirements.txtを整理しており、必要なパッケージがすべて含まれていることを確認したい。 jsonhashlibをインポートするときに、私はそれらのモジュールがすでにどのPythonモジュールをインポートする必要はありませんか?

のPython 3.6に含まれている実現するまで私はimportエド・モジュールの出荷Pythonモジュールの一部であるかどうかを調べるためにどんな方法がありますが、私はインストールする必要はありません、エラーが発生しますvia pip

+0

1の方法です): - > requirements.txt内のすべてのパッケージをアンインストールします。 - > 'pip freeze'を実行します。 - >もう一度インストールします。 - >' pip freeze'を再実行します。 - >差分を取る –

答えて

0

あなたは、次のようにきれいなPythonのインストールに対するあなたのrequirements.txtファイルをテストすることができます。

requirements = [r.split('=')[0] for r in open('requirements.txt').readlines()] 

for r in requirements: 
    r = r.replace('-', '_') 
    try: 
     exec('import {}'.format(r.lower())) 
    except ImportError: 
     try: 
      exec('import {}'.format(r.upper())) 
     except ImportError: 
      try: 
       exec('import {}'.format(r.capitalize())) 
      except ImportError: 
       print('{} is not a built-in module'.format(r)) 

ない私が書いたきれいなコードが、それは仕事を取得します。

関連する問題