我的项目中有以下相关的库和文件:
Project_Library
data
some_folder
sub_folder1
script1.py
sub_folder2
script2.py
scripts
__init__.py
lib_a.py
script1.py
中的代码完美无缺,看起来有点像这样:
# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, "C:/Project_Library/scripts") #
from lib_a import *
#Some more irrelevant code here
script2.py
中的代码无效,Python声称ImportError: No Module named lib_a
,而我实际上复制并粘贴了script1.py
的标题:
# -*- coding: utf-8 -*-
import sys
sys.path.insert(0, "C:/Project_Library/scripts") #
print sys.path #looks good
from lib_a import * #Crashes here
#again, more code
可能的原因是什么原因?
修改:
一个非常有趣的说明。如果我在将文件复制到script2.py
而不更改任何内容后尝试运行sub_folder1
,那么它可以正常工作。那为什么它不能在sub_folder2
?
EDIT2 :
我确实让它工作了,出于某种原因,只是创建一个新文件并将文件的内容复制并粘贴到其中只是奇迹般地工作!我仍然保留原始文件的原始文件名,因为它仍然没有工作,非常有趣。我想知道问题的根源可能是什么