sys,path

sys.path是一个python搜索模块的路径列表.

里面包含了当前虚拟环境(如pytorch_13)下的要调用的库的目录以及当前“包命名空间”目录.

“包命名空间”:一个源码库没有__init__.py把它弄成包,那么在打开的时候解释器会自动将源码库的目录加入一个特殊的叫做“包命名空间”,(而这个包命名空间的目录内容会被自动导入sys.path),达到可以import引入的效果。

其实包命名空间内的目录就是打开的没有__init__.py文件显示封装的这个源码库的目录,只要你打开一个这样的源码文件夹,python会自动将其目录加入sys.path。

其中sys.path[0]就是当前执行的脚本所在的目录--dir.
sys.path[1]就是这个包命名空间目录----此文件夹所在目录

如何导入在外部的文件代码包??

本质上就是将这个包的目录添加到sys.path。

两种方式:

  1. env PYTHONPATH=/some/dir1:/other/dir2 #用:分割不同的多个目录,这里是加入了两个文件包,/some/dir1 和 /other/dir2
  2. 将此文件的目录放到.pth文件内,然后将此pth文件放入site-package目录下!
    这样启动解释器时,里面目录会被自动添加至sys.path
原文地址:https://www.cnblogs.com/Henry-ZHAO/p/13680120.html