2017-08-14 63 views
0

我在整理我的項目virtualenv requirements.txt,並希望確保包含所有必需的軟件包。進口jsonhashlib當我得到的錯誤,直到我實現這些模塊都已經包括在Python 3.6如何知道哪些Python模塊不需要導入?

是否有以找出是否import版模塊的出貨Python模塊的一部分的任何方面,我也不需要安裝通過pip

+0

1的方式是: - >卸載requirements.txt中的所有軟件包 - >運行'pip freeze' - >再次安裝 - >重新運行'pip freeze' - >取diff –

回答

0

您可以測試你的requirements.txt文件對清潔Python安裝在以下方式:

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)) 

不是我寫的最漂亮的代碼,但它能夠完成任務;)

相關問題