码迷,mamicode.com
首页 > 编程语言 > 详细

python不同包之间调用时出现文件模块不存在的问题

时间:2019-10-22 09:17:18      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:技术   imm   cifs   问题   info   变量   环境   第三方库   gil   

python对于跨包调用函数时,经常会提示模块不存在的问题,主要是python程序执行时,搜索路径导致的,python程序执行的路径依次是:
(1)程序根目录
(2)环境变量
(3)标准库目标(D:\Python27\Lib  标准库是在lib文件下)
(4)第三方库的目录(D:\Python27\Lib\site-packages  第三方库在site-packages文件下)
 
 
如下图所示,明明test1文件是存在的,但是跨包调用时,就出现test1不存在的问题
技术图片
解决的办法是,可以把调用文件的主目录加到环境变量中
操作步骤:
import os
import sys

#步骤1:当前处于pack2d的test2文件目录,路径为dir1
dir1=os.path.dirname(__file__)
print ‘当前文件目录:‘,dir1

#步骤2:pack2的主目录是day6,路径为:dir2
dir2=os.path.dirname(os.path.dirname(__file__))
print ‘当前文件的主目录:‘,dir2

#步骤3:把day6目录加到环境变量中
sys.path.append(dir2)
for item in sys.path:
   print item

#步骤4:直接导入test1文件,然后再次调用test1里面的函数,不会再报错了
import test1
test1.testfun()

执行结果如下:

技术图片

 

 test1中函数内容是:

技术图片

 

 

 

 

python不同包之间调用时出现文件模块不存在的问题

标签:技术   imm   cifs   问题   info   变量   环境   第三方库   gil   

原文地址:https://www.cnblogs.com/Qliupeng/p/11717417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!