这两天接个需求需要测几个Ice接口,必须要拿python搞,起初以为没啥障碍,应该和ruby查不多,但是没想到还是折磨了我两天
ps:ruby调用ICE接口 以及简单的ICE服务端搭建 请看
http://jason-gs.iteye.com/admin/blogs/559737
貌似是zeroc官方的疏忽,想在RHEL5.4 x86_64上用 python2.5 调用 ICE 接口,确实让我遇到了些问题
先说下出现了哪些问题,然后说解决方案
我的操作系统是 linux RHEL5.4 x86_64
python 版本是 2.5.2
赶时间所以从zeroc官网上下载了Ice-3.2.1-rhel5-x86_64-rpm.tar.gz
1、 安装好python相关的开发包ice-python-devel-3.2.1-1.rhel5.x86_64.rpm 和 ice-python-3.2.1-1.rhel5.x86_64.rpm
会默认将ice为python的三方库安装到 /usr/lib64/Ice-3.2.1/python/ 目录下
2、 在环境变量PYTHONPATH中加入 /usr/lib64/Ice-3.2.1/python/
这个时候启动python,输入 import Ice 直接报错(type 'IcePy.ObjectPrx' is not an acceptable base type segmentation
fault)
郁闷,后来又试了pthon2.5.4 python2.6.4一样都不行,但是切换到python 2.4 没有这个问题。很明显 zeroc官方提供的rpm包里的
ice for python 只支持pyton2.4。后来google了下 看到一个zeroc官方的答复,他们的rpm包确实是在python2.4下搞的
只好想别的办法,从zeroc官方找到了IcePy-3.2.1.tar.gz 自己编译吧,需要在config/Make.rules 仔细按照注释修改PYTHON_HOME
PYTHON_VERSION PYTHON_INCLUDE_DIR PYTHON_LIB_DIR 这几个东西
之后make了下 继续报错 提示编译的时候 找不到 -lpython25
这又得从编译python的时候搞起
1、python官网上下到Python-2.5.2.tgz.tar
2、 解开后 ./configure --prefix=/usr/local/python252 --enable-shared
这是重点,必须带上--enable-shared 才会在../lib/ 目录下生成 libpython2.5.so 这个文件
3、回头继续去编译IcePy 修改配置文件 让PYTHON_LIB_DIR 指到libpython2.5.so 所在的目录
然后
make
make install
4、 设置好ICE_HOME 和 ICEPY_HOME 这两个环境变量 并将ICE_HOME/bin 加到path 中,执行IcePy 目录下的allTests.py
全部都是ok 那说明一切搞定
分享到:
相关推荐
python调用WEBSERVICE接口
使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口调用python库源码.zip使用Python调用OpenAI接口-OpenAI接口...
在python程序中调用c或者c++ 的代码。本压缩文件解压后有四个文件夹,包含四个不同的调用方法。适用于linux 平台。
Python调用WebService接口实例
本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。 如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下: 复制代码 代码如下: top -bi > cpuHistory.log 或 复制代码 代码...
linux下使用python调用海康威视SDK包
Python 调用Java实例详解 前言: Python 对服务器端编程不如Java 所以这方面可能要调用Java代码 前提: Linux 环境 1 安装 jpype1 安装后测试代码: from jpype import * startJVM(getDefaultJVMPath(), "-ea...
里面有详细教程和编程实例,指导你如何如何在liunx下编写.so文编并通过python调用,里面涉及到了c++和python的混合编程,简单易学,适合入门者学习!
博客简单介绍了Prometheus架构、基础概念、API使用,里面主要是Python调用Prometheus的API完整代码,需要自取即可。
python调用大漠插件python调用大漠插件python调用大漠插件python调用大漠插件
使用python调用cplex的两个实例,适合初学者进行学习,语法清晰
linux下python3.7安装pyltp库
python调用halcon程序/.hdev文件/直接调用halcon引擎, https://blog.csdn.net/sunnyrainflower/article/details/128364587
使用python中的ctypes模块可以很方便的调用 windows的dll(也包括linux下的so等文件),下面将详细的讲解这个模块(以windows平台为例子),当然我假设你们已经对 windows下怎么写一个DLL是没有问题的。
基于python的短信接口调用代码示例模板
java调用python脚本的工具类,可以通过在java项目中导入当前的jar包,可以来调用python的脚本代码来执行python。
Linux下安装python安装与升级
主要介绍了python的Jenkins接口调用方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
python调用迅雷sdk实现迅雷下载,不需要安装迅雷实现迅雷下载,所有调用的接口具体介绍,参考迅雷云加速开放平台文档 http://open.xunlei.com/wiki/tutorial.html 迅雷SDK只提供了32位的版本.所以python版本必须为32位...
python针对禅道登陆接口的自动化测试,+unittest+ddt接口自动化数据驱动并生成中文版的html报告;第一次写接口自动化的测试,学到很多东西,有不懂的客户加微信