python 制作自定义包并安装到系统目录的方法


Posted in Python onOctober 27, 2018

python 中的包的概念跟c++中的namespace很相似,在大型的工程开发中,多个开发人员很容使用相同的函数名,为了避免相同函数名带来的问题,就引入了包的概念。

在看别人写的程序中经常看到形如“from xx import yy”xx就是包

制作一个本地使用的包

建立一个文件夹并命名为dl,文件夹名"dl"就是我们的包名,在文件夹内部新建一个“__init__.py”(注意init左右两边都是两个底线符号),在文件夹下添加自己的模块即可,代码目录如下,a.py中存放test_a函数,b.py中存放test_b函数

python 制作自定义包并安装到系统目录的方法

在dl同级目录中添加要使用包的测试文件,并测试

测试代码如下:

<code class="language-python">from dl import a,b 
 
a.test_a() 
b.test_b()</code>

可以发现能正常执行包dl中模块a和模块b中的函数(包是可以嵌套的,包中可以再添加包)

_init__.py中可以控制当前包都有哪些模块可以导出,如果__init__.py中什么内容都没有,表示当前包中所有的模块都可以导出,其他模块可以通过“from xx import *”的方式使用该包。

在__init__.py中添加“__all__ = ['a','b']”表示当前包内只有a,b两个模块可以导出

制作并安装包

在包dl同级的目录中创建setup.py

<code class="language-python">from distutils.core import setup 
setup(name="testModule", version="18.0.4", description="test to install module", author="szfhy", py_modules=['dl.a','dl.b', 'dl.network.facenet'])</code>

制作包执行命令 python setup.py build

python 制作自定义包并安装到系统目录的方法

生成压缩包 python setup.py sdist

python 制作自定义包并安装到系统目录的方法

解压缩包,并安装 sudo python setup.py install

进入python终端测试:

python 制作自定义包并安装到系统目录的方法

功能一切正常。大功告成!

以上这篇python 制作自定义包并安装到系统目录的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的几个常用排序算法实例
Jun 16 Python
Python中正则表达式的用法实例汇总
Aug 18 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
Sep 24 Python
TensorFlow的权值更新方法
Jun 14 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
python退出命令是什么?详解python退出方法
Dec 10 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 Python
利用python绘制数据曲线图的实现
Apr 09 Python
python实现坦克大战
Apr 24 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 #Python
Python/ArcPy遍历指定目录中的MDB文件方法
Oct 27 #Python
用Python实现筛选文件脚本的方法
Oct 27 #Python
基于python指定包的安装路径方法
Oct 27 #Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 #Python
Python利用递归实现文件的复制方法
Oct 27 #Python
python实现本地图片转存并重命名的示例代码
Oct 27 #Python
You might like
深入浅析用PHP实现MVC
2016/03/02 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
jquery Moblie入门—hello world的示例代码学习
2013/01/08 Javascript
简单的两种Extjs formpanel加载数据的方式
2013/11/09 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
js实时获取窗口大小变化的实例代码
2016/11/18 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
Vue实现左右菜单联动实现代码
2018/08/12 Javascript
js canvas实现橡皮擦效果
2018/12/20 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
用Python编写一个简单的FUSE文件系统的教程
2015/04/02 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python简单验证码识别的实现方法
2019/05/10 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
Django通用类视图实现忘记密码重置密码功能示例
2019/12/17 Python
Python字典底层实现原理详解
2019/12/18 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
移动端Html5页面生成图片解决方案
2018/08/07 HTML / CSS
卡西欧B级产品官方网站:Casio Outlet
2018/05/22 全球购物
小学红领巾中秋节广播稿
2014/01/13 职场文书
采购类个人求职的自我评价
2014/02/18 职场文书
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
爱国演讲稿500字
2014/05/04 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
介绍信如何写
2015/01/31 职场文书