java 在运行过程中,引用第三方库还有个classpath;而在python中,实际也有一个第三方库的查找路径PYTHONPATH。
默认情况下,python查找第三方库是从当前工作路径往下找,另外也会去python的安装目录下的site-packages,lib-dynload这些目录里面找。
所以,即使我们没有设置PYTHONPATH环境变量的值,python依然能导入一些库,并正常执行,代码中可以用sys.path来访问和修改python的第三方库查找路径。
这里,用一个代码做示例,我们在pycharm上新建一个python工程,工程目录下的subdir,其中包含main函数所在脚本,另外subdir同级有firstlib>myliba.py和 secondlib>mylibb.py 这两个py脚本中各自包含一个print_name函数。
首先,在终端上检查PYTHONPATH,实际上是没值的。
但是代码层面来看,确实sys.path确实有值。
但是我们在subdir目录下执行脚本时候,libdir这个module是找不到的。于是我们把第6行的注释取消,重新在命令行执行,结果就正常了。