Skip to content

Build Pip Package and Upload

Tao Luo edited this page Jun 28, 2024 · 9 revisions

Build Pip Package and Upload

PaddleSpeech

  1. 进入 PaddleSpeech 的目录。
cd PaddleSpeech
  1. 对 PaddleSpeech 进行打包(Python >=3.8)
python setup.py bdist_wheel
  1. 上传 PaddleSpeech 到 pypi
    前提 1. 已经有了 pypi 的账号
    前提 2. 使用 pip 安装了 twine (pip install twine)
cd dist
twine upload paddlespeech-x.x.x-py3-none-any.whl (x.x.x 代表版本号)

CTCDecoder

CTCDecoder 目前支持 linux 和 Mac 上进行安装

Linux

  1. 使用 manylinux2010 docker(针对 linux) 对于 linux 前提1.安装了 manylinux2010 的 docker,所有的操作都在 manylinux2010 中进行。具体可参考安装 manylinux2010

  2. 设置使用的python版本

在 manylinux2010 的docker环境自带 swig 和各种类型的 python 版本。这里注意不要自己下载 conda 来安装环境来编译 pip 包,要用 docker 本身的环境来编包。 设置python。

注意!!!每个类型的python都需要设置一遍,然后编一个包:

export PATH="/opt/python/cp37-cp37m/bin/:$PATH"
#export PATH="/opt/python/cp38-cp38/bin/:$PATH"
#export PATH="/opt/python/cp39-cp39/bin/:$PATH"
  1. 进入 ctc_decoders
cd PaddleSpeech/third_party/ctc_decoders
  1. 对 CTCDecoder 进行打包
python setup.py bdist_wheel
  1. 构建适用于各类 linux 系统的包

编包后需要使用 auditwheel 来降低编好的wheel包的版本。

cd dist
# 显示 wheel 包的 glibc 依赖
auditwheel show wheel包
# 降低 wheel包的 glibc 依赖版本
auditwheel repair wheel包
# 随后降低版本的 wheel 包会保存在 wheelhouse 当中
  1. 上传 CTCDecoder 到 pypi
    前提 1. 已经有了 pypi 的账号
    前提 2. 使用 pip 安装了 twine (pip install twine)
cd wheelhouse
twine upload paddlespeech_ctcdecoders-x.x.x-cp37-cp37-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (x.x.x 代表版本号)

Mac

前提:安装了 swig, g++ (使用 conda 安装, 可以参考 conda 安装 )
剩余的步骤不需要使用 docker,在 mac 上直接使用系统环境打包上传即可,不需要降低包的依赖版本。

paddlespeech_feat

  1. 进入 paddlespeech_feat 的目录。
cd PaddleSpeech/third_party/python_kaldi_features
  1. 对 paddlespeech_feat 进行打包
python setup.py bdist_wheel
  1. 上传 paddlespeech_feat 到 pypi
    前提 1. 已经有了 pypi 的账号
    前提 2. 使用 pip 安装了 twine (pip install twine)
cd dist
twine upload paddlespeech_feat-x.x.x-py3-none-any.whl (x.x.x 代表版本号)

PaddleAudio编包

安装方式: pip install paddleaudio

目前支持的平台:Linux, Mac, Windows

Environment

Build wheel

cmd: python setup.py bdist_wheel

Linux test build whl environment:

  • os - Ubuntu 16.04.7 LTS
  • gcc/g++ - 8.2.0
  • cmake - 3.18.0 (need install)

MAC:test build whl envrioment:

  • os
  • gcc/g++ 12.2.0
  • cpu Intel Xeon E5 x86_64

Windows: not support paddleaudio C++ extension lib (sox io, kaldi native fbank)

Reference