Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
西库利克斯+;python,编辑导入的模块后出错_Python_Python Import_Jython_Nameerror_Sikuli X - Fatal编程技术网

西库利克斯+;python,编辑导入的模块后出错

西库利克斯+;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

我发现SikuliX+Python有一种奇怪的行为。我的主应用程序运行没有任何问题。。。但若我在导入的模块中做了任何更改,我就会出错

NameError:未定义名称“myLib”

如果我重新启动我的SikuliX程序,一切又正常了。。。这是一个非常有趣的错误。。我真不知道该怎么办。。我将更详细地描述我的情况:

我的sikulix项目有一个文件夹:

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末尾的新线不再是问题
这看起来像是SikuliX的一些内部错误,但我对SikuliX不是很有经验,所以我非常感谢您对这种行为的意见


谢谢大家!

我从RaiMan那里得到了这个问题的解决方案:

这是正常的行为,因为IDE只有 Jython解释器(在中重新启动脚本时未完全重置) 相同的IDE会话,以节省启动时间(几秒钟)

文件中有一个注释,在“一般性意见”一节中 Python导入规则

在您的情况下,使用:

import myLib
from myLib import *
而不仅仅是

from myLib import *
应该有助于在脚本重新运行时触发重新加载