记录编译python的signal-protocol(0.2.3

2023-11-16  本文已影响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

上一篇 下一篇

猜你喜欢

热点阅读