假设自定义模块 ship.py 在 /tmp/my_modules/ 这个目录中,我们需要随时在 python3 中导入这个模块,怎样才可以做到呢?下面我们介绍几种配置路径的方法:
1. 修改 python 目录搜索路径 sys.path
# 运行 python3
python3
# 导入 sys 模块,并查看工作搜索路径
>>> import sys
>>> sys.path
['', '/usr/local/python3/lib/python37.zip', '/usr/local/python3/lib/python3.7', '/usr/local/python3/lib/python3.7/lib-dynload', '/usr/local/python3/lib/python3.7/site-packages']
# 添加自定义目录路径
>>> sys.path.append('/tmp/my_modules')
# 再次查看搜索路径, 成功加入 '/tmp/my_modules'
>>> sys.path
['', '/usr/local/python3/lib/python37.zip', '/usr/local/python3/lib/python3.7', '/usr/local/python3/lib/python3.7/lib-dynload', '/usr/local/python3/lib/python3.7/site-packages', '/tmp/my_modules']
# 导入 ship 模块,没有报错
>>> import ship
# 退出 python3
>>> exit()
<