如何将路径“永久"添加到sys.path?
开发环境:ubuntu1.9
开发工具:vscode
(以前用pycharm开发根本不用去担心路径问题,但是我现在习惯使用vscode才发现导入模块要自己去添加路径)
sys.path是python的搜索模块的路径集,是一个list
import sys
print(sys.path)
结果如下:
[’/home/cy/PycharmProjects/first’, ‘/home/cy/PycharmProjects/first/.venv/lib/python37.zip’, ‘/home/cy/PycharmProjects/first/.venv/lib/python3.7’, ‘/home/cy/PycharmProjects/first/.venv/lib/python3.7/lib-dynload’, ‘/usr/lib/python3.7’, ‘/home/cy/PycharmProjects/first/.venv/lib/python3.7/site-packages’, ‘/home/cy/PycharmProjects/first/自定义工具’]
发现是一个列表,我们就可以在导入模块前把模块的路径加入进去
import os
sys.path.appent(os.getcwd()+'/自定义工具')
from helpTools import Spider_tools //自定义的模块就可以使用了
在vscode里我发现一个问题,如果将模块放到根目录不会报错,但是放入到自定义的文件目录就会报错,但是报错也不影响到模块的运行,这样添加的路径退出python环境后自己添加的路径就会自动消失,并且如果其它文件要调用就又必须再开头添加一次路径!
有没有一个不需要自己去添加目录,让所有层次的文件都可以调用自定义模块的方法呢?
为解决这个问题,我找到下面这个方法
使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释:
/home/cy/PycharmProjects/first/自定义工具 //这是我自己的路径
这个方法虽然可以,但是路径已经写死了,如果放到别人的电脑上去运行就肯定会出错,还是老实的在头部去加吧