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中的list列表数据结构用法
Mar 12 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
Python机器学习logistic回归代码解析
Jan 17 Python
Python异常处理操作实例详解
May 10 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
Python操作Jira库常用方法解析
Apr 10 Python
一文解决django 2.2与mysql兼容性问题
Jul 15 Python
Pycharm2020.1安装无法启动问题即设置中文插件的方法
Aug 07 Python
Python3合并两个有序数组代码实例
Aug 11 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
Python集合set()使用的方法详解
Mar 18 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 函数学习简单小结
2010/07/08 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
PHP中计算字符串相似度的函数代码
2012/12/29 PHP
JS 分号引起的一段调试问题
2009/06/18 Javascript
js 数据类型转换总结笔记
2011/01/17 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
vue动态设置img的src路径实例
2018/09/18 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
js取0-9随机取4个数不重复的数字代码实例
2019/03/27 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
浅谈Python的垃圾回收机制
2016/12/17 Python
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS浅析
2018/05/08 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
canvas粒子动画背景的实现示例
2018/09/03 HTML / CSS
美国从事品牌鞋类零售的连锁店:Famous Footwear
2016/08/25 全球购物
自然健康的概念:Natural Healthy Concepts
2020/01/26 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
毕业生护理专业个人求职信范文
2014/01/04 职场文书
学校花圃的标语
2014/06/18 职场文书
房屋出租委托书格式
2014/09/23 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
见习报告格式范文
2014/11/08 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Mysql关于数据库是否应该使用外键约束详解说明
2021/10/24 MySQL
Golang获取List列表元素的四种方式
2022/04/20 Golang
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js