Import 移动到另一台机器时发生Sikuli导入错误

Import 移动到另一台机器时发生Sikuli导入错误,import,sikuli,Import,Sikuli,我开始使用Sikuli实现自动化,并撞上了一堵墙 我有两个脚本,其中一个被导入到另一个脚本中。当我从IDE和命令行在本地运行这个程序时,一切正常。即使我更改了要导入的脚本的位置,也会出现这种情况。因此给人的印象是,一旦创建了main的skl,就不需要使用导入的skl 但是,当我将主脚本移动到另一台机器并从命令行运行它时,它会说它无法导入(没有模块名)。如果我将导入的skl复制到该机器并指示主skl从正确位置导入,也会发生这种情况 导入和主脚本之间的关系是什么?导入的脚本是否应该始终可用,以便主脚

我开始使用
Sikuli
实现自动化,并撞上了一堵墙

我有两个脚本,其中一个被导入到另一个脚本中。当我从IDE和命令行在本地运行这个程序时,一切正常。即使我更改了要导入的脚本的位置,也会出现这种情况。因此给人的印象是,一旦创建了main的
skl
,就不需要使用导入的
skl

但是,当我将主脚本移动到另一台机器并从命令行运行它时,它会说它无法导入(没有模块名)。如果我将导入的
skl
复制到该机器并指示主skl从正确位置导入,也会发生这种情况

  • 导入和主脚本之间的关系是什么?导入的脚本是否应该始终可用,以便主脚本可以导入它?导入的脚本是否应仅在创建主脚本之前可用?从地理位置上看,进口和主要产品之间的关系是什么

  • 将脚本文件移动到另一台机器并直接运行它们是否存在任何问题

  • 谢谢
    Ben.

    我假设您将“main”脚本作为您的驱动程序脚本,您已将调用的脚本导入其中,比如说
    xyz.sikuli

    运行主脚本时,除非您明确定义了任何系统变量,否则Sikuli会在同一目录中查找导入的模块

    假设您创建了一个名为
    Sikuli_Scripts
    的系统变量,其值为
    C:\test\Scripts
    ,并且
    Scripts
    目录分别是
    main
    xyz.Sikuli
    的目录。因此,当您执行主脚本时,
    xyz.sikuli
    会被调用,因为它知道
    xyz.sikuli
    位于脚本目录下。如果将
    xyz.sikuli
    移动到其他目录,它将根本不会被调用,并将导致失败

    因此,将所有Sikuli脚本安排在一个地方,甚至是Sikuli设置,是一种更好的做法。创建一个系统变量作为
    Sikuli\u Home
    ,其值为
    C:\test\SikuliX
    ,并用于Sikuli设置


    这样就更容易组织所有内容。然后,您可以归档整个文件夹
    test
    ,然后移动到其他系统环境变量/系统变量并开始。它适合我。

    通过使用它,我发现:可以从任何地方调用主脚本。XYZ脚本(我导入的脚本)必须位于其工作区的.sikuli目录中。该空间可以在任何地方,并且main不必位于同一目录中。