我在Windows2003Server上将我的python版本从2.4更新到2.5。在
在2.4中,我可以像这样从子目录c:\application\subdir\导入一个文件“sub1.py”:
import sub1
只要调用脚本主.py位于c:\中的应用程序是这样启动的:
^{pr2}$但在2.5版中,它不再适用于我:
C:\application\subdir>python ..\main.py
Traceback (most recent call last):
File "main.py", line 3, in <module>
import sub1
ImportError: No module named sub1
现在我可以放一个空文件了
__init__.py
进入subdir并按如下方式导入:
import subdir.sub1 as sub1
Python2.5有什么变化吗?这意味着python2.4中的当前工作目录是从调用进程继承的,而在python2.5中,它被设置为主脚本所在的位置。在
[编辑3] 我现在更正了这个问题。我必须承认,我在开始时过度简化了示例,并且在没有检查简化示例的情况下排除了导致错误的原因。 [/edit3]
您可以检查python在哪里搜索模块。变量中包含位置列表搜索路径. 在
或者显示可以交互执行的简单脚本:
默认情况下,python将搜索正在执行的目录以及原始脚本所在的目录。在
另外,尝试将PYTHONPATH环境变量设置为包含“.\”目录。在
导入副总裁您需要:
您需要进行以下更改:
__init__.py
文件,将subdir
变成一个包from subdir import sub1
相关问题 更多 >
编程相关推荐