09 Python C拓展在各平台的打包与发布 赵丰
414.79 KB
6 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
文档介绍了Python C拓展包在不同平台(Windows、Linux、MacOS)的打包与发布过程,包括编写setup.py、生成whl文件、上传到pypi.org和国内镜像的同步。重点强调了不同平台的差异处理,如Linux系统需要使用官方提供的CentOS 6.10 Docker打包,Windows平台需要预装Visual Studio C++套件。同时,提到C拓展包依赖动态库时需要一同打包并动态添加PATH,且不同Python版本的二进制包相互独立。最后,介绍了使用持续集成工具(如Travis CI)进行打包的配置示例。 | ||
AI总结 | ||
《09 Python C拓展在各平台的打包与发布 赵丰》摘要:
本文档主要介绍了Python C拓展包在不同平台的打包与发布过程,并探讨了相关注意事项和工具应用。
1. **打包与发布流程**:
- 编写`setup.py`文件,生成`.whl`文件。
- 将生成的包上传至`pypi.org`或国内镜像。
- 用户通过镜像站安装使用。
- 根据平台差异(Windows/非Windows)分别处理。
2. **C拓展打包注意事项**:
- **Linux**:只能使用官方提供的CentOS 6.10 Docker镜像打包;依赖动态库需一同打包并在导入时动态添加PATH。
- **Windows**:需预装Visual Studio C++套件,依赖动态库需一同打包并在导入时动态添加PATH。
- **版本问题**:每个Python版本的二进制包独立,无法跨版本使用。
- **依赖处理**:平台差异导致的依赖问题需特殊处理。
3. **持续集成工具应用**:
- 使用Travis等工具实现自动化打包,针对MacOS和ManyLinux配置示例提供。
- Windows平台可能因缺少编译器无法直接打包,Unix平台需解决软件依赖问题。
4. **案例说明**:
- 使用numpy为例,说明C拓展包的必要性:源文件包含`.c`文件时,直接`pip install`会因缺少编译器或依赖问题失败。
本文档旨在帮助开发者理解C拓展包在不同平台的打包与发布流程,并提供实际应用中的注意事项和解决方案。 |
P1
P2
P3
P4
P5
P6
下载文档到本地,方便使用
文档评分