当前位置: 首页>后端>正文

记录编译python的signal-protocol(0.2.3版本)过程

系统: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”链接查看安装方法

记录编译python的signal-protocol(0.2.3版本)过程,第1张

在终端执行命令安装rust:

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

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

Python的版本需要3.7以上

记录编译python的signal-protocol(0.2.3版本)过程,第2张

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

pip install -r requirements.txt

4、执行命令:

python setup.py develop

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

记录编译python的signal-protocol(0.2.3版本)过程,第3张

根据提示,可执行命令单独安装 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/

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

记录编译python的signal-protocol(0.2.3版本)过程,第4张

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

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

./build-wheels.sh

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

记录编译python的signal-protocol(0.2.3版本)过程,第5张

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

记录编译python的signal-protocol(0.2.3版本)过程,第6张

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

记录编译python的signal-protocol(0.2.3版本)过程,第7张

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

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


https://www.xamrdz.com/backend/3wj1919727.html

相关文章: