我有一个文件夹,它只包含用于执行的python脚本。没有必要保留__init__.py文件。所以我能忽略这些错误吗?
$ pylint /app
Using config file /app/pylintrc
*************
F: 1, 0: error while code parsing: Unable to load file /app/__init__.py:
[Errno 2] No such file or directory: '/app/__init__.py' (parse-error)发布于 2018-09-01 00:33:26
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.13.6
BuildVersion: 17G65
$ pylint --version
pylint 2.1.1
astroid 2.0.3
Python 3.7.0 (default, Jul 23 2018, 20:22:55)
[Clang 9.1.0 (clang-902.0.39.2)]更新
我试着做到了:
$ cd /app
$ pylint *.py或尝试:
$ pylint /path/to/app/*.py把整件事都搞定了。
...
Report
======
************* Module <yourmodname>
...
X statements analysed.
Statistics by type
------------------
+---------+-------+-----------+-----------+------------+---------+
|type |number |old number |difference |%documented |%badname |
+=========+=======+===========+===========+============+=========+
...错误
我试过这样做:
$ pylint .
************* Module .
__init__.py:1:0: F0010: error while code parsing: Unable to load file
__init__.py:
[Errno 2] No such file or directory: '__init__.py' (parse-error)发布于 2017-12-29 16:56:05
发布于 2019-03-02 22:00:45
这个问题出现在我们的一些项目中。
在其中一个项目中,我们最近成功地构建了一个项目,但是突然之间,一切都开始毫无理由地失败了。我们从CI日志到最后一次成功构建,复制了所有安装的确切版本。当这样建造的时候,一切都正常。新版本将失败。
该项目的成功构建来自23.02.2019,失败的构建来自25.02.2019。没有进行实质性的修改。以同样的状态运行,再次失败.
我们又投入了几个小时,我们发现:
astroid 已发布版本2.2.0在27.02.2019中,这基本上破坏了pylint。将astroid固定到2.1.0版本的解决了这个问题。我们将保持这种状态,直到他们发布补丁或pylint开始处理新版本。关于这件事有一个关于问题的消息。astroid问题的解决,我们回到了由于某些目录中缺少__init__.py文件而导致的失败(这些是Python3.7项目,我们不需要空的__init__.py文件.)pylint -- isort --从4.3.4到4.3.5,发布在E 13425.02.2019E 235中。将其固定在4.3.4版本上,效果很好。任何高于它的东西都会失败。老实说,该更新没有遵循语义版本控制的规则(它绝对不是补丁发布版.更有可能是主修!)为什么isort会造成这种情况,我还没有找到,但我决定在这里分享这些发现,这样您就可以节省几个小时的试错时间。
TL;博士
将其添加到您的requirements.txt中(至少在pylint的下一个版本之前):
# astroid 2.2.0 seems to break everything in pylint
astroid==2.1.0
# isort above 4.3.4 introduces the "__init__.py not found" issue
isort==4.3.4https://stackoverflow.com/questions/48024049
复制相似问题