pylint失败并显示“无法导入moto”,python可以将其导入

时间:2019-11-18 04:04:54

标签: python pylint moto

我正在尝试pylint我的使用moto模块进行AWS API模型开发的测试套件。

这是我超级简单的测试用例:

import moto

不幸的是,它失败了pylint

~/prj $ pylint test_moto.py 
************* Module test_test
test_moto.py:1:0: E0401: Unable to import 'moto' (import-error)
test_moto.py:1:0: W0611: Unused import moto (unused-import)

----------------------------------------------------------------------
Your code has been rated at -50.00/10 (previous run: -50.00/10, +0.00)

但是我的virtualenv中确实安装了moto,并且可以正常工作:

~/prj $ python
Python 3.6.8 (default, Oct  7 2019, 12:59:55) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import moto
>>> moto.__version__
'1.3.14'
>>> 

这是我的pylint

~/prj $ pylint --version
pylint 2.3.1
astroid 2.2.5
Python 3.6.8 (default, Oct  7 2019, 12:59:55) 
[GCC 8.3.0]

pythonpylint都在virtualenv中:

~/prj $ which python
/home/me/.virtualenvs/prjenv/bin/python
~/prj $ which pylint
/home/me/.virtualenvs/prjenv/bin/pylint

pylint为什么抱怨进口?我该如何阻止它?

1 个答案:

答案 0 :(得分:0)

事实证明,这是pylint 2.3.x的一个问题,不适用于boto3,反过来也不能与moto一起工作。参见https://github.com/PyCQA/pylint/issues/3261

降级到 pylint 2.2.x 解决了此问题。