fighter_狂奔 2023-11-25 15:46 采纳率: 0%
浏览 59
已结题

使用PyVISA库提示找不到code library

使用PyVISA库提示找不到code library

一个python脚本调用pyVISA库,在pycharm和cmd中直接执行没有提示问题,但是脚本在jenkins中集成到pipeline后提示
a code library required by VISA could not be located or loaded

尝试过的解决方法

1、在cmd运行脚本中添加path的打印,并将打印的PATH添加到PYTHONPATH中,重启jenkins,还是存在问题
2、猜测是jenkins执行脚本的默认权限不足,使用whoami打印确定是当前用户,跟cmd里面使用的whoami打印的用户是一致的,仍旧没有解决。

  • 写回答

11条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2023-11-25 16:06
    关注

    引自强大而免费的微信小程序:皆我百晓生

    问题分析:
    你在使用PyVISA库时遇到了一个错误,提示找不到VISA所需的代码库。该错误只在Jenkins的Pipeline中出现,而在PyCharm和cmd中直接运行脚本时没有问题。你已经尝试了在PATH和PYTHONPATH中添加相关路径,以及确认了当前用户的权限,但问题仍然存在。

    可能的解决方法:
    以下是一些可能解决该问题的方法:

    1. 检查Jenkins Pipeline的环境配置
    确保Jenkins Pipeline的环境配置与PyCharm和cmd中运行脚本的环境配置相同。可以通过在Jenkins Pipeline的脚本中添加以下代码来检查Python和PyVISA的版本信息:

    import sys
    import visa
    
    print("Python version:", sys.version)
    print("PyVISA version:", visa.__version__)
    

    运行Pipeline后,查看控制台输出以确保Python和PyVISA的版本与预期一致。

    2. 检查VISA驱动程序的安装
    PyVISA库需要与VISA驱动程序配合使用,确保在所有执行脚本的机器上都已正确安装了VISA驱动程序。可以通过运行以下代码检查是否安装了VISA驱动程序:

    import visa
    
    print(visa.get_instruments_list())
    

    此代码将返回连接到计算机的所有可用设备列表。如果返回空列表,则可能需要重新安装VISA驱动程序。

    3. 检查VISA库的安装
    确保在执行脚本的机器上正确安装了VISA库。可以尝试在命令行中运行以下命令来检查VISA库是否可用:

    python -c "import ctypes.util; print(ctypes.util.find_library('visa'))"
    

    如果输出为空或有错误信息,则可能需要重新安装VISA库。

    4. 在Jenkins中指定Python解释器
    在Jenkins Pipeline中执行脚本时,可能会使用与PyCharm和cmd中不同的Python解释器。确保在Jenkins Pipeline的脚本中显式指定要使用的Python解释器。可以在Pipeline的脚本中添加以下代码:

    pipeline {
        agent any
        
        tools {
            // 指定使用的Python工具,可以选择已配置的Python解释器
            maven 'Python'
        }
        
        stages {
            stage('Build') {
                steps {
                    // 执行 Python 脚本的命令
                    sh "python script.py"
                }
            }
        }
    }
    

    补充说明:
    如果这些解决方法都没有解决问题,还可以尝试以下额外的步骤:

    • 检查系统环境变量和Python虚拟环境中的PATH配置,确保VISA相关路径已添加。
    • 检查Jenkins执行脚本的用户是否有足够的权限来访问相关的库和驱动程序。
    • 尝试在Jenkins服务器上手动安装VISA驱动程序和库,并确保安装路径添加到PATH中。

    希望以上解决方法能够帮助你解决问题。如果问题仍然存在,请提供更多的细节和错误信息,以便更好地帮助你解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月30日
  • 赞助了问题酬金15元 11月25日
  • 修改了问题 11月25日
  • 创建了问题 11月25日

悬赏问题

  • ¥15 代码在keil5里变成了这样怎么办啊,文件图像也变了,
  • ¥20 Ue4.26打包win64bit报错,如何解决?(语言-c++)
  • ¥15 clousx6整点报时指令怎么写
  • ¥30 远程帮我安装软件及库文件
  • ¥15 关于#自动化#的问题:如何通过电脑控制多相机同步拍照或摄影(相机或者摄影模组数量大于60),并将所有采集的照片或视频以一定编码规则存放至规定电脑文件夹内
  • ¥20 深信服vpn-2050这台设备如何配置才能成功联网?
  • ¥15 Arduino的wifi连接,如何关闭低功耗模式?
  • ¥15 Android studio 无法定位adb是什么问题?
  • ¥15 C#连接不上服务器,
  • ¥15 angular项目错误