美文网首页
记录编译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

相关文章

  • 362.

    Ubuntu的Pypy3编译 编译时需要使用python2.7版本,临时把python3切换为python2。编译...

  • Python的编译器

    CPython: 官方下载的Python, 是用C编译的,动态编译, 一行行的编译。 PyPy: 用Python编...

  • VSCode 设置Python默认编译器

    本地环境变量相关 设置 VSCode编译器 设置为Python2编译 设置为Python3编译

  • python数据类型

    运行python文件的时候,python会通过编译器将它编译成.pyc文件。如果没有修改python文件,每次执行...

  • Sublime Text 3 配置python开发坏境Mac版

    写python脚本的时候,pycharm就显得有些不够轻便了。所以研究了下sublime,现将配置记录如下: 编译...

  • mac osx python3.7.0 编译排难

    最近在看python3源码剖析,在mac上编译python3.7.0时遇到一些问题,记录此文用以排难。 X11 问...

  • [Python玩转物联网]mac os下编译mpy_cross

    mpy_cross是micorpython的python脚本编译工具,可以将python文件编译成micropyt...

  • Python学习-基础1

    python 解释性的脚本语言:直接执行,不需要编译 C 编译型语言:先编译,再执行 python特性: 内部机制...

  • Centos7升级python2到python3

    服务器自带的python版本为2.7,需要升级到python3,遇到了一些坑,记录一下. 准备工作 安装和编译工作...

  • Setup VIM8+SpaceVIM on Ubuntu 16

    VIM8+SpaceVIM 本文记录了如何在ubuntu16.04 上编译vim8(python3+,lua+),...

网友评论

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

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