You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当前目录子文件夹中的Python模块如何在终端以-m模式运行

核心原因

python3 -m参数要求传入点分隔的模块名称,而非文件路径,你之前传入文件路径的写法不符合语法要求,才会触发模块找不到的报错。

最优解决方案(无需修改任何全局环境变量)

你的工作目录已经是main,Python运行时默认会把当前工作目录加入模块搜索路径,只要按如下操作即可:

  1. 在tester目录下新建空的__init__.py文件(Python 3.3及以上版本可选,添加后兼容性更好,可将tester识别为标准Python包)
  2. 直接执行如下命令:
python3 -m tester.test_module

即可正常运行,完全不会产生PYTHONPATH冗余问题。

临时指定搜索路径方案(适合包不在当前工作目录下的场景)

如果你确实需要运行不在当前工作目录下的模块,又不想污染全局环境变量,可以单次命令临时指定PYTHONPATH,仅对当前运行生效:

PYTHONPATH="/path/to/parent_dir_of_package" python3 -m 包名.模块名

对应你的场景写法为:

PYTHONPATH="/path/to/main" python3 -m tester.test_module

注意事项

  • -m参数后永远不要带.py后缀,也不要传入任何文件路径写法,必须使用点分隔的模块层级命名
  • 优先用标准的包结构管理代码,不要随意修改全局PYTHONPATH,避免出现模块重名冲突等问题

内容的提问来源于stack exchange,提问作者aru_bdd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:06:07