python -m:查找模块规格时出错

问题描述 投票:4回答:1

根据python doc,-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__属性与此有关。

python python-3.x module main
1个回答
8
投票

您收到的错误是当python尝试查找不存在的软件包/模块时发生的。作为user2357112 mentionsdata.generate_dummies.py被视为完全指定的模块路径(不存在),并且尝试导入子模块py(也不存在)。

如果使用.py标志,则不使用-m来调用文件,如下所示:

python -m data.generate_dummies  
© www.soinside.com 2019 - 2024. All rights reserved.