some_folder/
|-- my_project/
| |-- main.py
|-- another_folder/
|-- my_module.py
当模块不在运行脚本的同一目录或者子目录中时,用 from anther_folder import my_module 时候必然出错,因为这个语句时针对模块在与运行脚本在同一目录或子目录中,如下面这种情况:
my_project/
|-- my_folder/
| |-- __init__.py
| |-- my_module.py
|-- main.py
如果模块或包不在当前脚本的同一目录或子目录中,或者不在PYTHONPATH环境变量所指定的目录中,你可以通过修改sys.path来指定额外的搜索路径。
import sys
sys.path.append("/path/to/another_folder")
import my_module