当模块不在我的 Python 路径中时,如何在模块内运行脚本?
考虑一些假想的包:
package/
__init__.py
main.py
helper/
__init__.py
script.py
other/
__init__.py
anotherscript.py
Run Code Online (Sandbox Code Playgroud)
说我们想跑script.py。当包在我的 Python 路径中时,这会完成这项工作:
python -m package.helper.script
Run Code Online (Sandbox Code Playgroud)
但如果不是这样呢?有没有办法告诉python模块的位置?就像是
python -m /path_to_my_package/package.helper.script
Run Code Online (Sandbox Code Playgroud)
(显然,以上不起作用)
编辑:
(1) 我正在寻找不涉及环境变量的解决方案。
(2)script.py包含相对导入,所以全路径script.py并不能解决问题。