美文网首页
记录编译python的signal-protocol(0.2.3

记录编译python的signal-protocol(0.2.3

作者: 西亭月圆 | 来源:发表于2023-11-16 16:17 被阅读0次

    系统:macOS

    语言:Python

    遇到的问题,通过pip安装,只能安装0.2.2的版本,现成编译好的0.2.3版本只有Linux的版本

    需要自己编译0.2.3的版本

    (注意:不要在M1芯片或者M1以上的Mac进行编译,会报各种错误,但是可以在其他非M1芯片的Mac上面编译后复制到M1芯片的Mac来使用)

    1、在github找到signal-protocol项目源码,下载源码

    2、由于Python的signal-protocol是通过rust扩展的,本机同时需要安装rust

    安装rust:

    按官网描述,macOS直接通过终端即可安装,如果是Windows,点击“Other Installation Methods”链接查看安装方法

    在终端执行命令安装rust:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    3、打开下载的源码项目,新建一个Python虚拟环境,安装requirements

    Python的版本需要3.7以上

    进入新建的Python虚拟环境,在项目根目录下执行以下命令:

    pip install -r requirements.txt

    4、执行命令:

    python setup.py develop

    此时没有安装xcode,可能会报以下错误

    根据提示,可执行命令单独安装 command line developer tools

    1)执行命令:

    xcode-select --install

    2)指定xcode-select路径(如果没有报错,则此步骤可跳过):

    sudo xcode-select --switch /Library/Developer/CommandLineTools

    3)然后再继续执行之前的命令:

    python setup.py develop

    5、执行测试,验证项目无误

    pytest -v tests/

    执行所有测试通过,基本上没有问题

    6、执行脚本编译wheel文件,根据报出的错误信息对脚本进行相应修改

    在signal-protocol项目根目录下执行:

    ./build-wheels.sh

    此处忽略过程,最终修改build-wheels.sh脚本与原脚本对比如下。修改完成后重新执行脚本 ./build-wheels.sh

    最后报 auditwheel命令不存在(如下图),但是已生成wheel文件,不影响使用,至此完成编译

    7、在项目目录的dist目录下找到wheel文件(如下图)

    8、切换到需要使用signal-protocol的项目,复制上述生成的wheel文件到当前项目,通过本地wheel文件安装signal-protocol模块

    pip install signal_protocol-0.2.3-cp39-cp39-macosx_12_0_x86_64.whl

    相关文章

      网友评论

          本文标题:记录编译python的signal-protocol(0.2.3

          本文链接:https://www.haomeiwen.com/subject/kiiewdtx.html