我有以下奇怪的行为:
我调用python-File(让它命名为start.py),它调用另一个文件:
import os
from time import sleep
os.chdir("C:\Path")
execfile('YYY.py')
在pythons中解释器(Python shell)我使用execfile(' start.py') 一切都工作完成 - 另一个文件启动并正常工作
如果我跑
在cmd中启动>_PATH_to_Python/python.exe start.py
,启动python,执行start.py,os.chdir(" C:\ Path")工作,但执行的文件YYY.py无法找到我的模块:
from myclass import ZZZ
ImportError no mudule named myclass
我的文件夹中有一个空的__init__.py
,没有用。我在正确的文件夹中(如果我在YYY.py中列出文件,它会列出我的模块......)
我真的不明白它为什么不能正常工作,因为在我看来,在调用start.py之后,不应该是从cmd调用或手动调用
之间的区别答案 0 :(得分:0)
好的,可以解决问题(感谢@eryksun帮助实际理解问题):
我刚刚将sys.path.append("C:\...\classes")
添加到我的Python代码中(在调用我的类之前)并且它完美无缺。它将我的类的Path附加到sys.path,其中Interpreter查找Libraries。
此外,我的Gui在启动后总是崩溃,所以我添加了-i参数
>_PATH_to_Python/python.exe -i start_prog.py
看起来Python是以交互模式启动的,一切正常。