python中如何打包用户自定义模块


Posted in Python onSeptember 23, 2020

假设需要打包的模块文件名为my.py,打包模块需要新建的一个脚本setip.py,然后在脚本下输入如下的内容:

from disutils.core import setup
setup{name = 'my',version = '1.0',py_modules = ['my']}

以管理员身份运行cmd,进入my.py的目录,执行下面的命令即可打包:

python setup.py sdist

运行后在该目录下方出现一个文件夹dist,进入这个文件夹,会出现一个my-1.0.zip文件。
将该压缩包放在sys.path的目录下,解压,以管理员身份运行cmd,进入解压的目录,执行下方的命令即可自动安装my模块。

python setup.py install

完成安装后,即可加载my模块:

import my

知识点扩展:

自定义模块

自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块

一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组织结构要好,代码不冗余,所以要分文件,但是分文件,分了5个文件,每个文件里面可能都有相同的功能(函数),怎么办?所以将这些相同的功能封装到一个文件中.

模块就是文件,存放一堆函数,谁用谁拿。怎么拿?

模块是一系列常用功能的集合体,一个py文件就是一个模块

为什么要使用模块?

1、从文件级别组织程序,更方便管理

随着程序的发展,功能越来越多,为了方便管理,我们通常将程序分成一个个的文件,这样做程序的结构更清晰,方便管理。这时我们不仅仅可以把这些文件当做脚本去执行,还可以把他们当做模块来导入到其他的模块中,实现了功能的重复利用

2、拿来主义,提升开发效率

同样的原理,我们也可以下载别人写好的模块然后导入到自己的项目中使用,这种拿来主义,可以极大地提升我们的开发效率,避免重复造轮子。

ps:

如果你退出python解释器然后重新进入,那么你之前定义的函数或者变量都将丢失,因此我们通常将程序写到文件中以便永久保存下来,需要时就通过python meet.py方式去执行,此时meet.py被称为脚本script。

'''
-*- coding: utf-8 -*-
@Author : Meet
@Software: PyCharm
@File  : meet.py
'''
print('from the meet.py')

name = 'guoboayuan'

def read1():
  print('meet模块:',name)

def read2():
  print('meet模块')
  read1()

def change():
  global name
  name = 'meet'

到此这篇关于python中如何打包用户自定义模块的文章就介绍到这了,更多相关python打包用户自定义模块方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
浅析Python多线程下的变量问题
Apr 28 Python
详解Python下Flask-ApScheduler快速指南
Nov 04 Python
python实现统计文本中单词出现的频率详解
May 20 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
Jun 05 Python
详解python中的生成器、迭代器、闭包、装饰器
Aug 22 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
如何基于python操作json文件获取内容
Dec 24 Python
手动安装python3.6的操作过程详解
Jan 13 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
Feb 07 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
Python基础教程,Python入门教程(超详细)
Jun 24 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 #Python
python利用paramiko实现交换机巡检的示例
Sep 22 #Python
python批量修改交换机密码的示例
Sep 22 #Python
python爬虫构建代理ip池抓取数据库的示例代码
Sep 22 #Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 #Python
Python浮点型(float)运算结果不正确的解决方案
Sep 22 #Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 #Python
You might like
CI框架AR操作(数组形式)实现插入多条sql数据的方法
2016/05/18 PHP
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
对javascript的一点点认识总结《javascript高级程序设计》读书笔记
2011/11/30 Javascript
jquery与prototype框架的详细对比
2013/11/21 Javascript
Internet Explorer 11 浏览器介绍:别叫我IE
2014/09/28 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
js实现自定义进度条效果
2017/03/15 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
JavaScript仿微信打飞机游戏
2020/07/05 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
2018/11/26 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
vue excel上传预览和table内容下载到excel文件中
2019/12/10 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
python获得一个月有多少天的方法
2015/06/04 Python
用python写的一个wordpress的采集程序
2016/02/27 Python
python爬虫的工作原理
2017/03/05 Python
django中send_mail功能实现详解
2018/02/06 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Python存储读取HDF5文件代码解析
2020/11/25 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
女儿十岁生日答谢词
2014/01/27 职场文书
大跃进口号
2014/06/16 职场文书
2016年情人节广告语
2016/01/28 职场文书
详解redis在微服务领域的贡献
2021/10/16 Redis