【发布时间】:2018-01-21 21:46:33
【问题描述】:
根据 python 文档,-m 标志应该执行以下操作:
在 sys.path 中搜索命名模块并将其内容作为
__main__模块。
当我简单地使用python 命令运行我的脚本时,一切正常。由于我现在想从更高级别导入某些内容,因此我必须使用python -m 运行脚本。然而__name__ == "__main__" 语句似乎返回False 并产生以下错误:
/home/<name>/anaconda3/bin/python: Error while finding module specification for 'data.generate_dummies.py' (AttributeError: module 'data.generate_dummies' has no attribute '__path__')
我不明白 __path__ 属性与此有什么关系。
【问题讨论】:
-
请告诉我们您使用的确切命令是什么。当使用
-m运行时,不要使用.py调用文件。 -
谢谢!这已经解决了我的问题。但是错误信息是什么意思?
-
它正在寻找一个名为
py的子模块,但data.generate_dummies不是一个包。
标签: python python-3.x module main