McL*_*nce 3 python program-entry-point module python-3.x
根据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__')
Run Code Online (Sandbox Code Playgroud)
我不明白该__path__属性与此有关。
当python尝试查找不存在的包/模块时,会发生错误。正如user2357112所提到的,data.generate_dummies.py被视为完全指定的模块路径(不存在),并尝试导入子模块py(也不存在)。
.py如果使用的是-m标志,则不带调用文件,如下所示:
python -m data.generate_dummies
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |