"No name in module" 来自 Pylint 的错误
"No name in module" error from Pylint
我有一个名为 main.py
的文件,其中包含以下代码:
#!/usr/bin/env python3
import utils.stuff
if __name__ == "__main__":
print("hi from main.py")
utils.stuff.foo()
在 main.py
的目录中,我有一个名为 utils
的子目录,其中有一个名为 stuff.py
的文件,其代码如下:
print("hi from stuff.py")
def foo():
print("foo")
如果我从命令行 运行 ./main.py
,我得到以下输出:
hi from stuff.py
hi from main.py
foo
这正是我所期望的。但是,如果我 运行 pylint main.py
,我会得到以下输出:
No config file found, using default configuration
************* Module main
C: 1, 0: Missing module docstring (missing-docstring)
E: 3, 0: No name 'stuff' in module 'utils' (no-name-in-module)
E: 3, 0: Unable to import 'utils.stuff' (import-error)
E: 7, 4: Module 'utils' has no 'stuff' member (no-member)
后面是一些似乎与我的问题无关的更详细的统计数据。为什么会这样?我该怎么做才能让 Pylint 知道 utils/stuff.py
?我是 运行ning Python 3.5.2,Pylint 1.6.4 和 OS X 10.11.6.
您需要创建一个 utils/__init__.py
。这将使 python 知道子模块,还允许您 运行 任何您希望在导入时发生的代码。如果你不想要任何东西 运行 那么只包含一个文档字符串。
当我的函数命名为 start 时出现此错误:
from views import start
当我更改函数名称时它起作用了。
我有一个名为 main.py
的文件,其中包含以下代码:
#!/usr/bin/env python3
import utils.stuff
if __name__ == "__main__":
print("hi from main.py")
utils.stuff.foo()
在 main.py
的目录中,我有一个名为 utils
的子目录,其中有一个名为 stuff.py
的文件,其代码如下:
print("hi from stuff.py")
def foo():
print("foo")
如果我从命令行 运行 ./main.py
,我得到以下输出:
hi from stuff.py
hi from main.py
foo
这正是我所期望的。但是,如果我 运行 pylint main.py
,我会得到以下输出:
No config file found, using default configuration
************* Module main
C: 1, 0: Missing module docstring (missing-docstring)
E: 3, 0: No name 'stuff' in module 'utils' (no-name-in-module)
E: 3, 0: Unable to import 'utils.stuff' (import-error)
E: 7, 4: Module 'utils' has no 'stuff' member (no-member)
后面是一些似乎与我的问题无关的更详细的统计数据。为什么会这样?我该怎么做才能让 Pylint 知道 utils/stuff.py
?我是 运行ning Python 3.5.2,Pylint 1.6.4 和 OS X 10.11.6.
您需要创建一个 utils/__init__.py
。这将使 python 知道子模块,还允许您 运行 任何您希望在导入时发生的代码。如果你不想要任何东西 运行 那么只包含一个文档字符串。
当我的函数命名为 start 时出现此错误:
from views import start
当我更改函数名称时它起作用了。