CentOS7环境编译python3.9版本pjsua

这篇具有很好参考价值的文章主要介绍了CentOS7环境编译python3.9版本pjsua。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境:CentOS 7.6_x64   

Python版本 :3.9.12

pjsip版本:2.13

 一、背景描述

 pjsip地址:https://www.pjsip.org/

GitHub地址:https://github.com/pjsip/pjproject

pjsip文档地址:https://docs.pjsip.org/en/latest/

最新版本:2.13

pjsip是一个功能强大的sip协议栈和媒体处理库,MicroSIP软电话就是基于pjsip实现的,功能很强大。

其中的pjsua可以实现软电话的基础功能,在日常开发中可以作为uas或uac辅助开发,但pjsua默认绑定的python版本是python 2.4,使用起来有诸多限制,希望可以使用python3调用pjsua库。

之前写过在windows10环境下编译python3版本的pjsua:

windos10环境下编译python3版pjsua库

这里记录下centos7环境编译pjsua的过程及注意事项,并提供预编译二进制文件下载,可通过如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

这里使用 Python 3.9.12 版本,具体编译过程可参考这篇文章:

CentOS7环境源码安装python3.9

二、具体实现

 1、替换文件

官方给的代码不支持python3,需要使用第三方代码:

https://github.com/mgwilliams/python3-pjsip.git

下载之后,替换该目录 pjsip-apps/src/python,或使用软链接:

cp python3-pjsip.tar.gz pjproject-2.13/pjsip-apps/src/
cd pjproject-2.13/pjsip-apps/src/
mv python python_bak
tar zxvf python3-pjsip.tar.gz
ln python3-pjsip -s python

CentOS7环境编译python3.9版本pjsua

2、编译pjsip

编译pjsip时需要添加 -fPIC 选项

目录:pjproject-2.13

编译pjsip命令:

./configure CFLAGS="$CFKAGS -fPIC"
make dep && make

3、编译python3版本pjsua

目录:pjproject-2.13/pjsip-apps/src/python

编译脚本:

vim doBulild.sh

CentOS7环境编译python3.9版本pjsua

 执行如下命令:

chmod a+x doBuild.sh

./doBulild.sh

ls build/lib.linux-x86_64-cpython-39/

CentOS7环境编译python3.9版本pjsua

 编译过程视频获取途径:

关注微信公众号(聊聊博文,文末可扫码)后回复 2023060801 获取。 

三、运行效果

1、环境准备

python3.9的env.sh文件,位置:/root/py39env/env.sh

内容:

#! /bin/bash

pydir=/root/py39env
export CFLAGS="-I$pydir/include"
export LDFLAGS="-L$pydir/lib"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$pydir/lib

执行如下命令:

source /root/py39env/env.sh

2、导入测试

导入测试成功:

CentOS7环境编译python3.9版本pjsua

3、注册测试

示例代码路径:

pjproject-2.13/pjsip-apps/src/python/samples

示例文件:registration.py

修改端口及注册信息:

CentOS7环境编译python3.9版本pjsua

 完整源码获取途径:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

注册测试:

CentOS7环境编译python3.9版本pjsua

四、资源下载

本文涉及源码和文件,可以从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20230608 获取。 

CentOS7环境编译python3.9版本pjsua文章来源地址https://www.toymoban.com/news/detail-476214.html

到了这里,关于CentOS7环境编译python3.9版本pjsua的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CentOS7安装python3.9 极其简单!!!

    yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make yum -y install epel-release yum -y install python-pip wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tar.xz tar -xvf Python-3.9.0.tar.xz cd Python-3.9.0 ./configure prefix=/usr/local/python3 make make install ln -s /usr/local/python3/bin

    2024年02月09日
    浏览(17)
  • CentOS7安装python3超详细教程

    欢迎关注博主 Mindtechnist 或加入【Linux C/C++/Python社区】一起探讨和分享Linux C/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 专栏:《Linux从小白到大神》 1.检查CentOS7自带python环境 Linux下自带python环境,但是Linux自带的python一般是比较老

    2024年02月02日
    浏览(20)
  • centos7通过yum方式安装python3.8

    1、在CentOS或RHEL系统上安装额外的企业级Linux软件包(EPEL)存储库。EPEL存储库提供了一些在默认存储库中不可用的附加软件包。如果您想要使用EPEL存储库中的软件包,您需要在系统上具有管理员权限。 2、在CentOS或RHEL系统上安装 yum-utils 软件包。 yum-utils 软件包提供了一组工

    2024年02月16日
    浏览(17)
  • 十七、Jenkins(centos7系统)运行python3代码

    source /usr/python/envs/everyday/bin/activate #激活python3 虚拟环境 创建虚拟环境:https://blog.csdn.net/qq_42846555/article/details/131579627

    2024年02月12日
    浏览(27)
  • docker基于centos7镜像安装python3.7.9

    下载centos7镜像 docker pull centos:centos7 启动容器centos-python-3.7 docker run -itd --name centos-python-3.7 -p 60021:22 --privileged centos:centos7 /usr/sbin/init 进入容器 docker exec -it centos-python-3.7 /bin/bash centos7环境下安装python3.7.9 在Linux的home目录下创建一个python3目录 mkdir /home/python3 切换到python3目录 c

    2024年02月15日
    浏览(12)
  • 如何在linux(centos7)操作系统下安装和卸载python3

    由于我的两台Linux操作系统的Python3的版本不同,不能直接使用相应的库,所以我决定将两个操作系统的Python3换成同一个版本,这样在使用库的时候不需要再重复安装了。 我个人习惯安装在/usr/local/python3(具体安装位置看个人喜好) 方式一: 在官网中现在相应版本的Python3,

    2024年02月13日
    浏览(21)
  • python3.10及以上版本编译安装ssl模块

    前言 编译安装openssl 下载地址 编译安装 其中:  -fPIC: 位置无关代码  --prefix=: 路径 一般选 /usr/include/openssl  enbale-shared: 动态库 安装openssl3.0.7问题 报错原因: 缺少IPC/Cmd.pm模块 解决方法: 安装perl-CPAN 进入CPAN的she模式,首次进入需要配置shel,按照提示操作即可 在shell中安

    2024年02月01日
    浏览(26)
  • Kafka3.0.0版本——集群部署(linux环境-centos7)

    三台服务器 服务器名称 服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 Zookeeper集群安装参考此博文链接:https://wwwxz.blog.csdn.net/article/details/129280956?spm=1001.2014.3001.5502 3.1、官网下载地址 官网下载地址:http://kafka.apache.org/downloads.html 3.2、下载

    2024年02月04日
    浏览(17)
  • Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)

    1.1、下载地址 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1.2、下载步骤 下载步骤如下所示: linux环境(centos7)安装JDK11步骤图解参考此博文:https://wwwxz.blog.csdn.net/article/details/128899399?spm=1001.2014.3001.5502 上传安装包到home目录下 opt目录下创建es文件夹 进入home目

    2024年02月06日
    浏览(19)
  • centos7 编译bluez ARM版本及undefined reference to `g_thread_new‘

            在我辛辛苦苦编译成功 glib 库后(看我上一篇文章 centos7 glib2.0 arm版本的编译),以为可以顺利编译我的 bluez ARM 版本,结果出现了最后一个错误(其中一个是私有库里的),如: 就是这个 g_thread_new 没有找到实现,然后在网上搜了半天,都说是 glib 库里的实现,但

    2024年02月07日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包