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