西库利克斯+;python,编辑导入的模块后出错
我发现SikuliX+Python有一种奇怪的行为。我的主应用程序运行没有任何问题。。。但若我在导入的模块中做了任何更改,我就会出错 NameError:未定义名称“myLib” 如果我重新启动我的SikuliX程序,一切又正常了。。。这是一个非常有趣的错误。。我真不知道该怎么办。。我将更详细地描述我的情况: 徖 我的sikulix项目有一个文件夹:西库利克斯+;python,编辑导入的模块后出错,python,python-import,jython,nameerror,sikuli-x,Python,Python Import,Jython,Nameerror,Sikuli X,我发现SikuliX+Python有一种奇怪的行为。我的主应用程序运行没有任何问题。。。但若我在导入的模块中做了任何更改,我就会出错 NameError:未定义名称“myLib” 如果我重新启动我的SikuliX程序,一切又正常了。。。这是一个非常有趣的错误。。我真不知道该怎么办。。我将更详细地描述我的情况: 徖 我的sikulix项目有一个文件夹: C:\project\ 我有一个包含主应用程序的文件夹: C:\project\application.sikuli import sys
C:\project\
我有一个包含主应用程序的文件夹:
C:\project\application.sikuli
import sys
sys.path.append("C:\project\myLib.sikuli")
from myLib import *
myFunc1()
我的模块有一个文件夹:
(我正在将其导入主应用程序)
我的模块myLib的内容:
from sikuli import *
def myFunc1():
print(" myFunc1 ")
我的主要申请的内容:
C:\project\application.sikuli
import sys
sys.path.append("C:\project\myLib.sikuli")
from myLib import *
myFunc1()
徖
- 如果我运行主应用程序,则会打印“myFunc1”。一切都很好,没有任何问题李>
- 如果我运行模块myLib,什么都不会发生。一切都很好,没有任何问题
- 如果我在myLib模块中做了任何不相关的更改(例如,文件末尾的新行),我会得到错误:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“myLib”
[错误]IDE:运行脚本:内部错误:
如果我运行主应用程序以及尝试运行myLib,就会出现此错误
- 如果我重新启动SikuliX,一切都会恢复正常。。。myLib末尾的新线不再是问题
谢谢大家! 我从RaiMan那里得到了这个问题的解决方案: 这是正常的行为,因为IDE只有 Jython解释器(在中重新启动脚本时未完全重置) 相同的IDE会话,以节省启动时间(几秒钟) 文件中有一个注释,在“一般性意见”一节中 Python导入规则 在您的情况下,使用:
import myLib
from myLib import *
而不仅仅是
from myLib import *
应该有助于在脚本重新运行时触发重新加载