如何发布自己用python写的py模块
Python——怎么发布你的Python模块
我们在学习Python的时候,除了用pip安装一些模块之外,有时候会从网站下载安装包下来安装,我也想要把我自己编写的模块做成这样的安装包,该怎么办,如何发布呢?
大概需要以下四个步骤:
1、首先为模块创建一个文件夹。
举个简单的栗子,你写了一个add.py模块文件,里面有个add方法实现加法。这第一步就需要你创建一个文件夹。并把add.py复制到这个文件夹里,为简单起见,我们把文件夹就命名为add
add
|__add.py
2、然后在新文件夹中创建一个名为“setup.py”的文件。
from distutils.core import setup
setup(
name = 'add',
version = '1.0.0',
py_modules = ['add'],
author = 'qinlang',
author_email= '825222653.com',
url = 'http://www.qinlangsky.com',
descriptioin= 'add two numbers',
)
3、构建一个发布文件
现在我们有了一个文件夹,其中包含两个文件:模块代码放在add.py中,有关的元数据放在setup.py中。接下来我们就利用Python自带的发布工具制作发布文件。
在add文件夹中打开一个终端,或者cmd命令行cd到add文件夹中,执行以下命令:
python3 setup.py sdist
4、将发布模块安装到你本地Python中
仍然在刚刚打开的终端中,输入以下命令:
sudo python3 setup.py install
看屏幕上出现了发布信息,确认安装成功,发布即准备好。
最终我们得到的文件夹结构如下:
add
|__ MANIFEST
|__ build
| |__ lib
| |__ add.py
|__ dist
| |__ add-1.0.0.tar.gz
|__ add.py
|__ add.pyc
|__ setup.py
其中:
- MANIFEST这个文件包含发布中的文件列表
- build\lib\add.py与根目录下的add.py都是代码文件
- dist\add-1.0.0.tar.gz是发布包
- add.pyc是编译版本代码
- setup.py存放元数据
如何发布自己用python写的py模块的更多相关文章
- python附录-builtins.py模块str类源码(含str官方文档链接)
python附录-builtins.py模块str类源码 str官方文档链接:https://docs.python.org/3/library/stdtypes.html#text-sequence ...
- python附录-re.py模块源码(含re官方文档链接)
re模块 python官方文档链接:https://docs.python.org/zh-cn/3/library/re.html re模块源码 r"""Support ...
- Python的__init__.py用法
python中包的引入,对于大型项目中都会使用到这个功能,把实现不同功能的python文件放在一起,组成不同lib库,然后在其他地方调用. 包,python源文件+__init__.py 模块,pyt ...
- [py]python写一个通讯录step by step V3.0
python写一个通讯录step by step V3.0 参考: http://blog.51cto.com/lovelace/1631831 更新功能: 数据库进行数据存入和读取操作 字典配合函数 ...
- 如何反编译Python写的exe到py
参考链接: https://blog.csdn.net/qq_44198436/article/details/97314626?depth_1-utm_source=distribute.pc_re ...
- python下编译py成pyc和pyo
python下编译py成pyc和pyo 其实很简单, 用 python -m py_compile file.py python -m py_compile /root/src/{file1,f ...
- 用aardio给python写个图形界面
前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有“特色”有“噱头” ...
- python写机器人玩僵尸骰子
python写机器人玩僵尸骰子由Al Sweigart用python发布注意:我正在为我的僵尸骰子模拟器寻找反馈,以及这一套指令.如果你觉得有什么地方可以改进,请发邮件到al@inventwithpy ...
- Python中setup.py一些不为人知的技巧
http://python.jobbole.com/80912/ 在我开始之前,我想先说清楚我将要解释的是些“窍门”.他们不是“最好的做法”,至少在一种情况下是不可取的. 说到不可取的做法,我会适时写 ...
随机推荐
- GoJS事件
1.阻止键盘事件 myDiagram.commandHandler.doKeyDown = function () { var e = myDiagram.lastInput; // Meta(Com ...
- 8、Flink Table API & Flink Sql API
一.概述 上图是flink的分层模型,Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作.Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时 ...
- Spring Boot中Spring data注解的使用
文章目录 Spring Data Annotations @Transactional @NoRepositoryBean @Param @Id @Transient @CreatedBy, @Las ...
- WebLogic上的项目无法更新,删除项目缓存
/root/bea/user_projects/domains/base_domain/servers/AdminServer/tmp/ /root/bea/user_projects/domains ...
- python- 函数高级
函数高级 一.默认参数 1.默认参数概念 默认参数指函数/方法在定义时为形参赋值,对应的形参称为默认参数. 默认参数是一个参数定义期的概念,与调用无关. 2.默认参数的作用 如果参数定义默认参数,在调 ...
- Hyperf基础教程
前提说明 本教程适用于新手.老手,也适用于任何操作系统,包括Windows.linux.MacOS 介绍 Hyperf 是基于 Swoole 4.4+ 实现的高性能.高灵活性的 PHP 协程框架,内置 ...
- 【K8S】K8S部署Metrics-Server服务
写在前面 在新版的K8S中,系统资源的采集均使用Metrics-Server服务,可以通过Metrics-Server服务采集节点和Pod的内存.磁盘.CPU和网络的使用率等信息. 读者可参考< ...
- 图论--二分图最佳完美匹配(KM模板)
#include <iostream> #include <cstring> #include <cstdio> using namespace std; cons ...
- python模块之time and datetime
time # python3 # coding = utf-8 import time timestamp = time.time() print('timestamp:%s, type: %s' % ...
- JavaScript键值对集合怎么使用
JavaScript键值对集合怎么使用 我们可以对此键值对集合分为3种难度 1.简单的使用 var arr = { 'cn': "中国", 'usa': '美国', 'jp': ' ...