主要不执行...`

问题描述:

据蟒蛇文档的-m标志应做到以下几点:对指定的模块主要不执行...`

搜索sys.path中,并作为执行其内容 __main__模块。

当我使用python命令运行我的脚本时,一切正常。因为我现在想从更高级别导入某些东西,所以我必须使用python -m运行脚本。然而,​​声明似乎返回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__') 

我dont't明白什么__path__属性具有与该做的事。

+1

请告诉我们什么是您使用的具体命令。用'-m'运行时,不要用'.py'调用该文件。 –

+0

谢谢!这已经解决了我的问题。但是错误信息是什么意思? – McLawrence

+0

它正在寻找一个名为'py'的子模块,但'data.generate_dummies'不是一个包。 – user2357112

当python尝试查找不存在的包/模块时,会出现错误。由于user2357112 mentionsdata.generate_dummies.py被视为完全指定的模块路径(不存在),并且尝试导入子模块py(也是不存在的)。

打开您的文件,而不.py,如果您使用的是-m标志,就像这样:

python -m data.generate_dummies