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 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
从零学Python之入门(四)运算
May 27 Python
使用python实现tcp自动重连
Jul 02 Python
Python实现的NN神经网络算法完整示例
Jun 19 Python
python实现二级登陆菜单及安装过程
Jun 21 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
python实现飞机大战项目
Mar 11 Python
pyspark 随机森林的实现
Apr 24 Python
python录音并调用百度语音识别接口的示例
Dec 01 Python
用Python监控你的朋友都在浏览哪些网站?
May 27 Python
浅谈Python数学建模之线性规划
Jun 23 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
支持php4、php5的mysql数据库操作类
2008/01/10 PHP
PHP获取url的函数代码
2011/08/02 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php类自动加载器实现方法
2015/07/28 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
jQuery 借助插件Lavalamp实现导航条动态美化效果
2013/09/27 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
javascript判断office版本示例
2014/04/11 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
Nginx上传文件全部缓存解决方案
2015/08/17 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
jQuery 操作input中radio的技巧
2016/07/18 Javascript
前端实现文件的断点续传(前端文件提交+后端PHP文件接收)
2016/11/04 Javascript
jquery的$().each和$.each的区别
2019/01/18 jQuery
图文讲解用vue-cli脚手架创建vue项目步骤
2019/02/12 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
jQuery实现动态向上滚动
2020/12/21 jQuery
零基础写python爬虫之爬虫编写全记录
2014/11/06 Python
安装Python和pygame及相应的环境变量配置(图文教程)
2017/06/04 Python
利用python将json数据转换为csv格式的方法
2018/03/22 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
Python里面search()和match()的区别
2016/09/21 面试题
最新英语专业学生求职信范文
2013/09/21 职场文书
自荐信格式的六要素
2013/09/21 职场文书
2014年幼儿园元旦活动方案
2014/02/13 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
高三化学教学反思
2016/02/22 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
python实现简单倒计时功能
2021/04/21 Python