You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QGIS Python插件开发:如何安装cx_Oracle等Python包(无需管理员权限)

无需管理员权限为QGIS Python插件安装cx_Oracle等依赖包

本地开发环境操作步骤

  • 找到QGIS自带的Python解释器:
    Windows用户直接打开QGIS安装目录里的OSGeo4W Shell,里面已经配置好QGIS的Python环境,直接用python命令即可;macOS路径一般是/Applications/QGIS3.app/Contents/MacOS/bin/python3;Linux可以通过QGIS启动的终端直接调用python3。
  • 用--user参数安装依赖:
    在终端执行命令:
    python -m pip install --user cx_Oracle
    
    这个参数会把包安装到当前用户的个人站点目录(比如Windows的C:\Users\[你的用户名]\AppData\Roaming\Python\PythonXX\site-packages),完全不需要管理员权限,QGIS会自动识别这个目录的包。
  • 验证安装:
    打开QGIS的Python控制台,输入:
    import cx_Oracle
    print(cx_Oracle.version)
    
    能正常打印版本号就说明安装成功。

客户端电脑部署方案

如果要让客户端也不用管理员权限就能用插件,有两种可选方式:

方式1:指导客户端自行安装

让客户端打开QGIS的OSGeo4W Shell(Windows)或对应终端,执行和本地开发一样的命令:python -m pip install --user cx_Oracle,步骤和上面一致。

方式2:插件自带依赖包(免客户端操作)

不想让客户端手动安装的话,把依赖包打包到插件里:

  1. 本地执行pip download cx_Oracle --dest ./deps下载依赖的wheel包
  2. 解压wheel包,把里面的cx_Oracle文件夹复制到插件目录下的新建libs文件夹中
  3. 在插件的__init__.py开头添加路径配置:
    import os
    import sys
    plugin_dir = os.path.dirname(os.path.realpath(__file__))
    sys.path.insert(0, os.path.join(plugin_dir, 'libs'))
    
    这样QGIS加载插件时会优先读取插件自带的依赖,客户端无需额外操作。

额外注意:Oracle客户端库

cx_Oracle需要Oracle客户端库支持,同样可以无需管理员权限解决:

  • 下载Oracle Instant Client Basic Lite(免安装版),解压后把里面的dll/so文件放到插件的libs或单独的instantclient目录
  • 在插件__init__.py里添加环境变量配置:
    import os
    plugin_dir = os.path.dirname(os.path.realpath(__file__))
    oracle_client_path = os.path.join(plugin_dir, 'instantclient')
    os.environ['PATH'] = oracle_client_path + os.pathsep + os.environ['PATH']
    
    这样客户端不用单独安装Oracle客户端,直接用插件自带的文件即可。

内容的提问来源于stack exchange,提问作者am2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:47:28