-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Build Pip Package and Upload
Tao Luo edited this page Jun 28, 2024
·
9 revisions
- 进入 PaddleSpeech 的目录。
cd PaddleSpeech
- 对 PaddleSpeech 进行打包(Python >=3.8)
python setup.py bdist_wheel
- 上传 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 目前支持 linux 和 Mac 上进行安装
-
使用 manylinux2010 docker(针对 linux) 对于 linux 前提1.安装了 manylinux2010 的 docker,所有的操作都在 manylinux2010 中进行。具体可参考安装 manylinux2010
-
设置使用的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"
- 进入 ctc_decoders
cd PaddleSpeech/third_party/ctc_decoders
- 对 CTCDecoder 进行打包
python setup.py bdist_wheel
- 构建适用于各类 linux 系统的包
编包后需要使用 auditwheel 来降低编好的wheel包的版本。
cd dist
# 显示 wheel 包的 glibc 依赖
auditwheel show wheel包
# 降低 wheel包的 glibc 依赖版本
auditwheel repair wheel包
# 随后降低版本的 wheel 包会保存在 wheelhouse 当中
- 上传 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 代表版本号)
前提:安装了 swig, g++ (使用 conda 安装, 可以参考 conda 安装 )
剩余的步骤不需要使用 docker,在 mac 上直接使用系统环境打包上传即可,不需要降低包的依赖版本。
- 进入 paddlespeech_feat 的目录。
cd PaddleSpeech/third_party/python_kaldi_features
- 对 paddlespeech_feat 进行打包
python setup.py bdist_wheel
- 上传 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 代表版本号)
安装方式: pip install paddleaudio
目前支持的平台:Linux, Mac, Windows
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)