| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 开发者说|Python打包发布 -> 正文阅读 |
|
[Python知识库]开发者说|Python打包发布 |
下面是由社区开发者——王方浩提供的文章,本文主要介绍 Python打包发布。 关于作者王方浩,社区布道师,武汉大学电子信息专业,先后在华为和阿里从事固件、驱动、操作系统和后台相关的开发工作,目前主要从事L4级别自动驾驶的开发,喜欢研究技术,分析源码和解答问题,目前活跃于Apollo自动驾驶开源社区,平时喜欢做一些户外运动,对自动驾驶的前景担心的同时又充满激情,“莫愁前路无知己,天下谁人不识君”,希望更多的人一起!
本文将主要从以下几个方面来介绍:
概览Python由于其灵活性和丰富的库,使用起来非常方便,在这里主要介绍Ppython的包管理机制,包括Python包的组织架构,如何打包和发布Python包,以及PIP的使用。 包和模块Python的包是一些系列功能的合集,而模块则是单个或者几个模块,包通常的形式是 package 这里的init.py是必须的,来标识这是一个Package,之后就可以通过Import的方式引用了。 而模块(Module),可以是单个或者几个文件,通过在setup.py 中py_modules关键字来进行指定。 打包Python通过setup.py 或setup.cfg 进行打包,打包之后的文件在Dist目录中,其中setuptools默认会添加以下几种文件:
如果要添加其它类型的文件,例如数据库文件,图片文件等,可以在package_data中进行添加 。 如果要添加库依赖,例如Python依赖于某个c++的So文件,可以通过Extension进行添加,在打包的时候,Python会编译其中的 .c文件,然后一起打包。 实际上由于Python是解析性语言,打包之后的文件只是拷贝并且解压到Python指定的库安装目录,由于库的路径已经加入了sys.path因此就可以调用这些库了。 命令行 包上传
之后就可以在PYPI网站上看到上传的包了,还可以在PYPI网站管理。注意上传的软件包的版本不能重复上传,请节省版本号。也可以通过Github Action和PYPI结合,实现在Github上自动发布版本。 安装Python通过pip命令来安装软件包,安装完成之后,就可以通过Import模块的方式,或者命令行的方式来使用安装包了。 pip既可以通过远程仓库安装,也可以通过本地安装,本地安装主要是用于没有网络或者测试的时候,远程安装是正式发布版本。 安装依赖 卸载 统计信息由于pypi不提供python库的下载次数,可以通过以下网站来查询库的历史下载次数。 本文部分内容参考链接
2. Writing the Setup Script — Python 3.10.4 documentation
Distributing a Python command line application | Jan-Philip Gehrcke
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 13:33:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |