python通过omniORBpy调用CORBA

news2024/9/25 16:35:09

omniORB参考地址:

omniORB

omniORB - Browse Files at SourceForge.net

omniORB - Browse /omniORBpy/omniORBpy-4.3.0 at SourceForge.net

Windows

普通使用好像不需要安装omniorb。就对接北向接口业务需要使用python3.10的windows包,但目前好像没有python3.10的包,因此对接北向接口建议在linux上运行。

pip install omniorb==4.2.3

只下载不安装python -m pip download -d ./ omniorb==4.2.3

python -m pip download -d ./ omniorb

找到指定模块包进行安装python -m pip install --no-index --find-links=./ omniorb==4.2.3

需要网络安装python -m pip install --find-links=./ omniorb==4.2.3

或者网页下载:Links for omniorb

yum reinstall --downloadonly --downloaddir=/tmp/ bzip2

下载解压omniORBpy-4.3.0-win64-python310.zip

注意:需要使用3.10版本的python环境

环境变量配置

PATH添加E:\2022software\omniORBpy-4.3.0\bin\x86_win32 # 命令行下直接运行omniORBpy提供的命令(如编译IDL文件的omniidl和命名服务的omniNames等)

创建PYTHONPATH添加E:\2022software\omniORBpy-4.3.0\bin\x86_win32;E:\2022software\omniORBpy-4.3.0\lib\python;E:\2022software\omniORBpy-4.3.0\lib\x86_win32 # 使python可以搜索到omniORBpy提供的CORBA编程模块

创建OMNINAMES_DATADIR添加E:\2022software\omniORBpy-4.3.0\data # 指定命名服务的数据存储目录

创建LD_LIBRARY_PATH添加E:\2022software\omniORBpy-4.3.0\lib\x86_win32 # 找到omniORB核心库

两种定位分布式对象的方式:

1,使用IOR定位

2,使用命名服务定位(推荐)

使用命名服务需要注册表中添加信息

HKEY_LOCAL_MACHINE\SOFTWARE\omniORB下创建InitRef字符串,并赋值NameService=corbaname::localhost

好像不不需要注册表添加信息

启动方式

命名服务数据文件不存在时omniNames.exe -start

命名服务数据文件存在时omniNames.exe

查看omniNames监听端口并配置代码进行连接

windows上对接北向接口问题,均为解决,转用linux上的包并部署得以解决:

    import _omnipy

ImportError: Module use of python310.dll conflicts with this version of Python.

    import _omnipy

ImportError: DLL load failed while importing _omnipy: 找不到指定的模块。

2

Linux

只能在root用户下启动Naming Service命名服务,然后让程序来使用。

192.168.124.92

说明:omniORB的安装是否成功和gcc和omniORBpy和python3.10都无关

1,安装配置omniORB

cd /home

tar -xvf omniORB-4.3.0.tar.bz2

mkdir /home/omniORB-4.3.0/build

mkdir /home/myomniORB

cd /home/omniORB-4.3.0/build

../configure --prefix=/home/myomniORB # 选择安装目录,默认/usr/local

../configure PYTHON=/usr/local/bin/python3 # 指定python(查看所有路径whereis pyton,查看当前使用的路径which python)

make # 编译(时间较久)

make install # 安装

make遇到问题:Python.h:没有那个文件或目录

参考:

【已解决】致命错误:Python.h:没有那个文件或目录-CSDN博客

linux yum 离线安装rpm包(转) - 走看看

离线下载yum re/install --downloadonly --downloaddir=./ python3-devel

离线安装rpm -Uvh --force --nodeps *.rpm

不好使

没有权限:sudo chmod -R 777 /usr/local/bin/python3

不好使

不指定PYTHON

好使

2,安装配置omniORBpy

cd /home

tar -xvf omniORBpy-4.3.0.tar.bz2

mkdir /home/omniORBpy-4.3.0/build

mkdir /home/myomniORBpy

cd /home/omniORBpy-4.3.0/build

../configure --prefix=/home/myomniORBpy --with-omniorb=/home/myomniORB

../configure PYTHON=/usr/local/bin/python3 # 指定python(查看所有路径whereis pyton,查看当前使用的路径which python)

# 选择安装目录,默认/usr/local

make

make install

make遇到问题:configure: error: You must specify the omniORB root directory.

需要指定omni ORB的安装目录,使用../configure -h查看所有参数,发现--with-omniorb参数,配置该参数即可。

系统中配置环境变量

vim ~/.bashrc

export PYTHONPATH=/home/omniORB-4.3.0/bin:/home/myomniORB/lib/python3.7/site-packages:/home/myomniORBpy/lib/python3.7/site-packages

export LD_LIBRARY_PATH=/home/myomniORB/lib:/home/myomniORBpy/lib

export OMNINAMES_DATADIR=/home/myomniORB/omninames

3,测试

python3

>>>import CORBA # 不报错说明成功

若报错,查看/home/myomniORB/lib是否存在python3.7目录,若不存在,使用which python查看默认python环境,若不是指向python3.7,则修改/usr/bin/python软连接指向python3.7后重新安装。

4,其他命令

更新pip:

python3 -m pip install --upgrade pip

或conda install mingw libpython

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1949640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue接入google map自定义marker教程

需求背景 由于客户需求,原来系统接入的高德地图,他们不接受,需要换成google地图。然后就各种百度,各种Google,却不能实现。----无语,就连google地图官方的api也是一坨S-H-I。所以才出现这篇文章。 google地…

SpringBoot整合elasticsearch-java

一、依赖 系统使用的是ElasticSearch8.2.0 <dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.1.0</version> </dependency> 二、配置 1、yml文件配置 elastics…

移动式气象站:便携科技的天气守望者

在科技日新月异的今天&#xff0c;我们身边的许多设备都在向着更加智能化、便携化的方向发展。而在气象观测领域&#xff0c;移动式气象站的出现&#xff0c;不仅改变了传统气象观测的固有模式&#xff0c;更以其灵活性和实时性&#xff0c;在气象监测、灾害预警等领域发挥着越…

苹果电脑暂存盘已满怎么清理 Mac系统如何清理磁盘空间 清理MacBook

Mac电脑用户在长时间使用电脑之后&#xff0c;时常会看到“暂存盘已满”的提示&#xff0c;这无疑会给后续的电脑使用带来烦恼&#xff0c;那么苹果电脑暂存盘已满怎么清理呢&#xff0c;下面将给大家带来一些干货帮你更好地解决这个问题。 首先我们要搞明白为什么暂存盘会满&…

IEC104转MQTT网关支持MQTT对接Ignition、阿里云、华为云、亚马逊AWS、ThingsBoard、Zabbix平台助力远程管理

钡铼推出了一款专为电力系统设计的数据采集网关——IEC104转MQTT网关BE113&#xff0c;感兴趣的朋友接着往下看&#xff1a; 一、网关概述 IEC104转MQTT(Ignition)网关BE113是一款专为电力系统设计的数据采集网关&#xff0c;支持DL/T645和IEC104等协议的设备。上行支持MQTT协…

The Sandbox:虚拟游戏世界生态系统详解

元宇宙由区块链、软件基础、移动应用、控制台等组成&#xff0c;是一个虚拟空间&#xff0c;结合了增强现实&#xff08;AR&#xff09;、虚拟现实&#xff08;VR&#xff09;和在线游戏等元素。它强调互操作性&#xff0c;允许用户在不同的虚拟平台之间自由切换。与传统的现实…

Tensorflow2.0全套学习(持续更新中)

0 简介 1.学习目标 两大核心模块&#xff1a;深度学习经典算法与Tensorflow项目实战 从零开始&#xff0c;详细的网络模型架构与框架实现方法 2.tensorflow&#xff1a;核心开源库&#xff0c;深度学习框架&#xff0c;帮助开发和训练机器学习模型 3.版本2比1有哪些优势 …

【深度学习】GoogLeNet实战

目录 1.猫狗识别 1.1data_partitioning.py 1.2mean_std.py 1.3model.py 1.4model_train.py 1.5model_test.py 2.水果识别 2.1data_partitioning.py 2.2mean_std.py 2.3model.py 2.4model_train.py 2.5model.test.py 1.猫狗识别 1.1data_partitioning.py import o…

杂项——电阻式角度传感器使用

三个引脚&#xff0c;分别接3.3V&#xff0c;GND&#xff0c;ADC引脚。12位ADC有4096份&#xff0c;将360分成4096份&#xff0c;再乘以单片机返回的模拟量的值&#xff0c;即可得到角度。 M0代码 #include "ti_msp_dl_config.h"volatile bool gCheckADC; volatile …

昇思25天学习打卡营第21天|CV-Shufflenet图像分类

打卡 目录 打卡 ShuffleNet 网络介绍 ShuffleNet 模型架构 Pointwise Group Convolution Channel Shuffle ShuffleNet模块 ShuffleNet 模块代码 构建ShuffleNet网络 模块代码 模型训练和评估 模型训练 模型评估 模型预测 ShuffleNet 网络介绍 ShuffleNetV1是旷视科…

vue3+vite纯前端实现自动触发浏览器刷新更新版本内容,并在打包时生成版本号文件

前言 在前端项目中&#xff0c;有时候为了实现自动触发浏览器刷新并更新版本内容&#xff0c;可以采取一系列巧妙的措施。我的项目中是需要在打包时候生成一个version.js文件&#xff0c;用当前打包时间作为版本的唯一标识&#xff0c;然后打包发版 &#xff0c;从实现对版本更…

【Golang 面试基础题】每日 5 题(八)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

【YashanDB知识库】绑定参数,同一个sql多个执行计划的问题

问题现象 同一个sql有两个执行计划&#xff0c;是否合理&#xff1f; 它的EXECUTIONS&#xff0c;ELAPSED_TIME等统计信息怎么看&#xff0c;是独立分开的还是统一计算的&#xff1f; 如下图&#xff1a; 问题影响版本 tpcc测试&#xff1a;23.2.1.100 问题的风险及影响 …

无人机公司销售需要什么资质

国家民航局于2024年1月1日实施了《无人驾驶航空器飞行管理暂行条例》&#xff0c;根据这个管理条例里面的 第十一条 使用除微型以外的民用无人驾驶航空器从事飞行活动的单位应当具备下列条件&#xff0c;并向国务院民用航空主管部门或者地区民用航空管理机构申请取得民用无人驾…

若依+AI项目开发(二)

后端代码分析 二次开发 开始执行 生成成功 创建子模块

电子签章-开放签应用

开放签电子签章系统开源工具版旨在将电子签章、电子合同系统开发中的前后端核心技术开源开放&#xff0c;适合有技术能力的个人 / 团队学习或自建电子签章 \ 电子合同功能或应用&#xff0c;避免研发同仁在工作过程中重复造轮子&#xff0c;降低电子签章技术研发要求&#xff0…

如何解决ChromeDriver 126找不到chromedriver.exe问题

引言 在使用Selenium和ChromeDriver进行网页自动化时&#xff0c;ChromeDriver与Chrome浏览器版本不匹配的问题时有发生。最近&#xff0c;许多开发者在使用ChromeDriver 126时遇到了无法找到chromedriver.exe文件的错误。本文将介绍该问题的原因&#xff0c;并提供详细的解决…

mysql-bin 恢复数据库

能看到这里的同学估计肯定摊上大事了吧&#xff01;不要慌&#xff0c;一定要冷静&#xff0c;记录一下作者的大事件吧&#xff0c;黑客通过SQL注入的方式执行了一段SQL &#xff1a; DROP DATABASE ****** 后果就是导致整个数据库被删了&#xff0c;当时心是拔凉拔凉的&#x…

3.2、数据结构-数组、矩阵和广义表

数组结构 数组是定长线性表在维度上的扩展,即线性表中的元素又是一个线性表。N维数组是一种“同构”的数据结构,其每个数据元素类型相同、结构一致。 一个m行n列的数组表示如下: 其可以表示为行向量形式&#xff08;一行一行的数据&#xff09;或者列向量形式&#xff08;一…

收银系统源码视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统&#xff0c;包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体&#xff0c;线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…