发布你的Python模块详解
作者:huilan_same 发布时间:2021-06-10 02:03:53
我们在学习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 = 'huilan',
author_email= 'womende218@126.com',
url = 'http://www.lalalala.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提取页面内url列表的方法。分享给大家供大家参考。具体实现方法如下:from bs4 import Beautif
- 除了在Matlab中使用PRTools工具箱中的svm算法,Python中一样可以使用支持向量机做分类。因为Python中的sklearn库
- 前言Vue2.x 使用 EventBus 事件总线进行兄弟组件通信,而在Vue3中事件总线模式已经被移除,官方建议使用外
- 抱着“取之于众 服务于众”的思想,我总结了一下,把它拿到网上来与大家分享,希望能帮助遇到类似问题的朋友。 我主要使用了IE内置的WebBro
- 1.使用 for key in dict遍历字典可以使用for key in dict遍历字典中所有的键x = {'a':
- 八月的UCDChina书友会主题是“信息分类和方法”,在会场中的内容是不足以简单的概述的,而这次交流至少对于分类、属性、关键词与Tag的定义
- 引入:Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍一、日志级别(从低到高):DEBUG :详细
- 本文实例讲述了Python实现根据日期获取当天凌晨时间戳的方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-
- 使用Python的第三方库pyautogui,PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘
- 一:安装sql server 2005过程中出现如下问题:“选择的功能中没有任何功能可以安装或升级”:解决方案:Microsoft SQL
- InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。下面是已知的两者之间的差别,仅供参考。1.Inn
- 1.Django默认已经提供了认证系统Auth模块。认证系统包含:用户管理权限用户组密码哈希系统用户登录或内容显示的表单和视图一个可插拔的后
- CSS布局中可以用javascript判断浏览器版本看如下的javascript脚本: if (window.XMLHt
- 启动服务发生1067错误:1.删除datadir 下的用户数据库文件 和 日志文件 (ib_logfile0,ib_logfile1)。2.
- 1.场景问题说明mysql中一般的update写法支持的方式是,update 表 set 字段名=修改后的字段值 where 条件1 and
- 一、字符串的本质1.字符串的定义golang中的字符(character)串指的是所有8比特位字节字符串的集合,通常(非必须)是UTF-8&
- 一、前言MySQL 中可以使用IFNULL函数判断一个值是否不为空。MySQL IFNULL 函数是 MySQL 控制流函数之一,它接受两个
- 一、下载1、官网下载2、某度网盘下载链接: https://pan.baidu.com/s/1BgbZH-aFaJ1nwm2PpDeOSQ?
- 使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是:1、读取txt文本并简单处理;2、读取图片,以用作背景;3、
- 一、控制用户存取 1、创建修改用户Creating Users Create/alter user new_user identified