【问题标题】:Import Library failed but resource succeeded in Robotframework (SOLVED)导入库失败但资源在 Robotframework 中成功(已解决)
【发布时间】:2022-12-06 09:43:20
【问题描述】:

解决了

一般来说,我猜这不是编码中的任何错误,而是 pylance 或 pyright 的一些错误。我的代码和目录都是正确的,问题是,IDE(我试过VS代码和Pycharm)找不到路径或模块。我安装了 Pylance,它通常有很多错误和警告,但是,我尝试运行任何.py, 进展顺利。所以我发现将这两行添加到设置.json解决了问题

    "python.analysis.diagnosticSeverityOverrides": {"reportGeneralTypeIssues":"none"},
    "python.linting.pylintArgs": ["--generate-members"],

导入资源成功且没有错误,但库显示路径错误,因为它没有这样的路径。下面的代码是 Robotframework 项目的一部分。所有其他测试用例都有相同的问题。

有错误的代码是


\*\*\* Settings \*\*\*
Documentation   
Library      ../lib/ue/SparkLibrary/common.py
Library      ../lib/vam/VAM_8x8    WITH NAME    VAM
Variables    ../lib/ue/SparkLibrary/params.py

上面的 2 个库有错误,但底部的变量是正确的。

错误说

Unresolved library: ../lib/ue/SparkLibrary/common.py.
Error generating libspec:
Importing library 'common' failed: ModuleNotFoundError: No module named 'flexbot'
Consider adding the needed paths to the "robot.pythonpath" setting
and calling the "Robot Framework: Clear caches and restart" action.robotframework

我的文件夹就像

project/
project/flexbot/
project/flexbot/lib
project/flexbot/lib/ue
project/flexbot/lib/ue/SparkLibrary
project/flexbot/lib/ue/SparkLibrary/common.py and params.py
project/flexbot/lib/vam/VAM_8x8.py
project/flexbot/resource/project1.resource(where the error is located in this file as an example)

我试图在 Visual Studio Code 中检查 robotframework.setting.json 但它仍然失败。与导入库失败但资源和变量成功的问题相同

【问题讨论】:

  • 尝试打开您的设置并搜索 Python > Terminal: Execute In File Dir 然后检查它。
  • 由我解决。首先,对于阅读此页面的任何人,请确保您的路径完全正确,这正是我的代码正确显示的。在 *settings.json*====> "python.analysis.diagnosticSeverityOverrides": {"reportGeneralTypeIssues":"none"}, "python.linting.pylintArgs": ["--generate-members" 中添加这两行],
  • 嗨 Aiyu Sheng,很高兴知道您找到了解决此问题的方法!请考虑回答它并接受它作为答案以将其状态更改为已回答。它还将帮助其他人解决类似的问题。见can I answer my own question..,提醒一下:)

标签: python visual-studio-code robotframework


【解决方案1】:

在我看来,您的 common.py 中的内容有错误。

导入库“common”失败:ModuleNotFoundError:没有名为“flexbot”的模块

所以在上面的错误行中,它说你没有弹性机器人安装库。所以尝试安装这个库,然后再次运行你的机器人脚本。

注意 - 如果您导入的 python 脚本有任何错误或未成功执行,则它不会导入到您的机器人脚本中。只需确保您的 python 脚本没有任何错误。

【讨论】:

  • 谢谢你但是弹性机器人是我的目录的名称,它不是库
【解决方案2】:

在 settings.json 中添加这些可能会解决 Pylance(或 Pyright)的大多数错误和警告。请注意,这仍然会有一些警告,但您的代码仍然可以运行。如果是,说明你的代码和目录都是正确的,这不是你编码的问题,而是设置的问题。

    "python.analysis.diagnosticSeverityOverrides": {"reportGeneralTypeIssues":"none"},
    "python.linting.pylintArgs": ["--generate-members"],

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2021-12-21
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 2012-05-31
    相关资源
    最近更新 更多