假设/path/to/foo
我有一个带有 python 模块的包:
/path/to/foo:
| my_package
| __init__.py
| my_module.py
| my_other_package
| __init__.py
| my_other_module.py
该文件执行如下my_module.py
相对导入:my_other_module.py
from ..my_other_package import my_other_module
我知道我可以从 shell 执行以下操作:
> cd /path/to/foo
> python -m my_package.my_module
但是,如果我不想更改当前目录怎么办?有什么方法可以从 shell 运行我的模块而无需更改PYTHONPATH
?
我尝试了以下方法:
python -m /path/to/foo/my_package.my_module
但这没有用。我得到了:Import by filename is not supported
。