我正在尝试使用Python创建软件电话。 我找到了此链接describing pjsua2,但是没有任何明确的步骤定义如何为python安装pjsua2软件包。
任何人都可以为我定义安装可在python中使用的pjsua2的清晰步骤吗?
答案 0 :(得分:2)
这些步骤应该有效
步骤1:创建目录。 /PJSUA2/pjproject/src
第二步:安装所需的模块
sudo apt-get install libasound2-dev libssl-dev libv4l-dev libsdl2-dev libsdl2-gfx-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-net-dev libsdl2-ttf-dev libx264-dev libavformat-dev libavcodec-dev libavdevice-dev libavfilter-dev libavresample-dev libavutil-dev libavcodec-extra libopus-dev libopencore-amrwb-dev libopencore-amrnb-dev libvo-amrwbenc-dev subversion
第3步:下载源代码svn co http://svn.pjsip.org/repos/pjproject/trunk pjproject
步骤4:编译主库并安装。如果要在RPI上尝试,请参考此link。基本上,您需要设置适当的CFLAGS并确保为您的平台正确配置了third_party / build / os-auto.mak.in。
$ cd pjproject
$ ./configure --enable-shared
$ make dep
$ make
$ sudo make install
第5步:编译并安装python模块。再次确保您具有正确的user.mak(如果要针对RPI进行编译
$ cd pjsip-apps/src/swig/
$ make
$ make install
第6步:检查已安装的模块
$ python
> import pjsua2
这些步骤在here中已完全提及,除了RPI扭曲
更新#1:
不要忘记设置ep_cfg.uaConfig.threadCnt = 0
,否则您将得到Segmentation fault
。因此,PJSUA2页面中的示例代码应该有所更改
def pjsua2_test():
# Create and initialize the library
ep_cfg = pj.EpConfig()
ep_cfg.uaConfig.threadCnt = 0; #Python does not like PJSUA2's thread. It will result in segment fault
ep = pj.Endpoint()
ep.libCreate()
ep.libInit(ep_cfg)
答案 1 :(得分:0)
这些步骤看起来像列在这里:https://trac.pjsip.org/repos/wiki/Python_SIP/Build_Install
我遇到了它们,它们在Mac Os X上似乎没有任何问题。您遇到的确切问题是什么?
答案 2 :(得分:0)
通常,您只需要转到命令行并输入:
pip install [packagename]
因此,在这种情况下,它可能是:
pip install pjsua2
然后在python中仅import pjsua2