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创建模块及模块导入的方法
May 27 Python
python连接数据库的方法
Oct 19 Python
python基础练习之几个简单的游戏
Nov 10 Python
Python从Excel中读取日期一列的方法
Nov 28 Python
padas 生成excel 增加sheet表的实例
Dec 11 Python
django-allauth入门学习和使用详解
Jul 03 Python
利用pytorch实现对CIFAR-10数据集的分类
Jan 14 Python
python实现梯度下降法
Mar 24 Python
详细分析Python垃圾回收机制
Jul 01 Python
django filter过滤器实现显示某个类型指定字段不同值方式
Jul 16 Python
详解Python yaml模块
Sep 23 Python
Python爬虫自动化爬取b站实时弹幕实例方法
Jan 26 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
星际中一些鲜为人知的详细资料
2020/03/04 星际争霸
PHP实现上传多文件示例代码
2017/02/20 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
window.onload 加载完毕的问题及解决方案(下)
2009/07/09 Javascript
JQuery 弹出框定位实现方法
2010/12/02 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
基于jquery的button默认enter事件(回车事件)。
2011/05/18 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
webpack之引入图片的实现及问题
2018/10/08 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
2019/04/17 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
js实现聊天对话框
2020/02/08 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
ES2020 已定稿,真实场景案例分析
2020/05/25 Javascript
Python中的is和id用法分析
2015/01/26 Python
python ChainMap 合并字典的实现步骤
2019/06/11 Python
python处理大日志文件
2019/07/23 Python
django ListView的使用 ListView中获取url中的参数值方式
2020/03/27 Python
Python使用xpath实现图片爬取
2020/09/16 Python
CSS3实现内凹圆角的实例代码
2017/05/04 HTML / CSS
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
销售部主管岗位职责
2013/12/18 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
小学教研工作制度
2014/01/15 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
单方投资意向书
2015/05/11 职场文书
用Python实现屏幕截图详解
2022/01/22 Python