我在Windows上的Wing IDE内部运行PyLint。我有一个子目录(包)在我的项目和包内,我从顶层导入一个模块,即。
__init__.py
myapp.py
one.py
subdir\
__init__.py
two.py
在two.py中,我导入了一个,这在运行时工作得很好,因为顶层目录(myapp.py从其中运行)在Python路径中。然而,当我在two.py上运行PyLint时,它会给我一个错误:
F0401: Unable to import 'one'
我怎么解决这个问题?
你好,我能够从不同的目录导入包。我只是做了以下事情:
注意:我正在使用VScode
创建Python包的步骤
使用Python包非常简单。你所需要做的就是:
创建一个目录,并给它您的包的名称。
把你的课程放在里面。
在该目录中创建__init__.py文件
例如:你有一个名为Framework的文件夹,你在那里保存了所有的自定义类,你的工作就是在名为Framework的文件夹中创建一个__init__.py文件。
在导入时,你需要以这种方式导入——>
from Framework import base
因此E0401错误消失
Framework是你刚刚创建__init__.py和
Base是您需要导入并处理的自定义模块
希望能有所帮助!!!!
1)系统。Path是一个列表。
2)有时问题出在系统。Path不是你的virtualenv。路径,你想在你的virtualenv中使用pylint
3)就像上面说的,使用init-hook(注意' and " pylint的解析是严格的)
[Master]
init-hook='sys.path = ["/path/myapps/bin/", "/path/to/myapps/lib/python3.3/site-packages/", ... many paths here])'
or
[Master]
init-hook='sys.path = list(); sys.path.append("/path/to/foo")'
.. 而且
pylint --rcfile /path/to/pylintrc /path/to/module.py