Python中的PYTHONPATH环境变量、手动添加import导入搜索路径

Windows与Linux都通用,只是路径写法,修改环境变量的方法不同而已。

Python的搜索路径查看

可以通过sys.path来查看当前Python在导入包时候的搜索路径。

Python 3.7.0 (default, Jul 13 2018, 11:20:23)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', 
'/usr/local/lib/python3.7/lib-dynload', '/root/.local/lib/python3.7/site-packages', 
'/usr/local/lib/python3.7/site-packages']

目录的多元化

博主在编译安装python时,为了归类方便查找,将python安装目录定为:/usr/local/python3/,也就是后续依赖包的安装默认路径为/usr/local/python3/lib/python3.7/site-packages/

这意味着和python默认的包路径:/usr/local/lib/python3.7/site-packages,不一样

自主添加path方案有三:

sys.path.append()  # 缺点:需要执行代码,且只为内存临时修改,程序退出后清空变量

②在系统环境中新增PYTHONPATH变量,指向自己想要的path搜索路径。缺点:修改了环境变量,对复杂环境需求易造成冲突,博主的环境需要完整保留python2和python3,并相互独立运行。

③在site-packages下建立一个name.pth文件,并添加需要自定义包含引入的路径。# 完美

博主在/usr/local/lib/python3.7/site-packages路径下新建python3_path.pth文件,内容如下:

[root@localhost site-packages]# cat py3_path.pth
/usr/local/python3/lib/python3.7/site-packages

再次验证Python搜索路径已经存在,且import相关包也不会报错。


参考资料:

https://www.cnblogs.com/geeklove01/p/7912435.html

https://docs.python.org/3/install/index.html#modifying-python-s-search-path

你可能感兴趣的:(Python中的PYTHONPATH环境变量、手动添加import导入搜索路径)