Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
DeepSpeech
提交
39f5679e
D
DeepSpeech
项目概览
PaddlePaddle
/
DeepSpeech
大约 2 年 前同步成功
通知
210
Star
8425
Fork
1598
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
245
列表
看板
标记
里程碑
合并请求
3
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
DeepSpeech
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
245
Issue
245
列表
看板
标记
里程碑
合并请求
3
合并请求
3
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
39f5679e
编写于
1月 13, 2022
作者:
J
Jackwaterveg
提交者:
GitHub
1月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
test=doc
上级
dae6bea5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
64 addition
and
39 deletion
+64
-39
docs/topic/package_release/python_package_release.md
docs/topic/package_release/python_package_release.md
+64
-39
未找到文件。
docs/topic/package_release/python_package_release.md
浏览文件 @
39f5679e
# 发包方法
# 简化安装与发包
## 问题:
1.
[
如何去除ubuntu的apt安装依赖?
](
#conda-代替系统依赖
)
2.
[
如何支持普通用户和开发者两种安装的需求,尽量减少普通用户所需的依赖?
](
#区分install模式和develop模式
)
3.
[
如何进行python包的动态安装?
](
#python-包的动态安装
)
4.
[
如何进行python项目编包?
](
#python-编包方法
)
5.
[
发包前要有什么准备?
](
#关于发包前的准备工作
)
6.
[
发C++包需要注意的东西?
](
#manylinux
)
...
...
@@ -34,6 +43,44 @@ conda install -c conda-forge eigen boost cmake
## 区分install模式和develop模式
可以在setup.py 中划分 install 的依赖(基本依赖)和 develop 的依赖 (开发者额外依赖)。 setup_info 中
`install_requires`
设置 install 的依赖,而在
`extras_require`
中设置
`develop`
key为 develop的依赖。
普通安装可以使用:
```
bash
pip
install
.
```
另外使用 pip 安装已发的包也是使用普通安装的:
```
pip install paddlespeech
```
而开发者可以使用如下方式安装,这样不仅会安装install的依赖,也会安装develop的依赖, 即:最后安装的依赖=install依赖 + develop依赖:
```
bash
pip
install
-e
.[develop]
```
## python 包的动态安装
可以使用 pip包来实现动态安装:
```
python
import
pip
if
int
(
pip
.
__version__
.
split
(
'.'
)[
0
])
>
9
:
from
pip._internal
import
main
else
:
from
pip
import
main
main
([
'install'
,
package_name
])
```
## python 编包方法
#### 创建 pypi的账号
...
...
@@ -74,7 +121,22 @@ twine upload dist/wheel包
## Manylinux 降低含有 C++ 依赖的 pip 包的 glibc 依赖
## 关于发包前的准备工作
#### 拉分支
在发包之前需要拉分支。例如需要发0.1.0版本的正式包,则需要拉一个r0.1的分支。并且在这个r0.1分支的包上面打0.1.0的tag。在拉分支之前可以选择性的使用rc版本发一个正式版前的试用包,例如0.1.0rc0,等到rc包测试通过后,再拉分支(如果是发0.1.1包,则merge r0.1分支),打tag,完成发包。总体步骤可以总结为:
-
用develop分支发rc包
-
rc包通过后拉分支
-
打tag
-
发包
-
编写release note
## ManyLinux
为了让有C++依赖的 pip wheel 包可以适用于更多的 linux 系统,需要降低其本身的 glibc 的依赖。这就需要让 pip wheel 包在 manylinux 的 docker 下编包。关于查看系统的 glibc 版本,可以使用命令:
`ldd --version`
。
...
...
@@ -120,40 +182,3 @@ auditwheel show wheel包
auditwheel repair wheel包
```
## 区分 install 模式和 develop 模式
可以在setup.py 中划分 install 的依赖(基本依赖)和 develop 的依赖 (开发者额外依赖)。 setup_info 中
`install_requires`
设置 install 的依赖,而在
`extras_require`
中设置
`develop`
key为 develop的依赖。
普通安装可以使用:
```
bash
pip
install
.
```
另外使用 pip 安装已发的包也是使用普通安装的:
```
pip install paddlespeech
```
而开发者可以使用如下方式安装,这样不仅会安装install的依赖,也会安装develop的依赖, 即:最后安装的依赖=install依赖 + develop依赖:
```
bash
pip
install
-e
.[develop]
```
## python 包的动态安装
可以使用 pip包来实现动态安装:
```
python
import
pip
if
int
(
pip
.
__version__
.
split
(
'.'
)[
0
])
>
9
:
from
pip._internal
import
main
else
:
from
pip
import
main
main
([
'install'
,
package_name
])
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录