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的迭代器与生成器实例详解
Jul 16 Python
Python中文件操作简明介绍
Apr 13 Python
简单介绍Python2.x版本中的cmp()方法的使用
May 20 Python
python类和继承用法实例
Jul 07 Python
pandas 数据归一化以及行删除例程的方法
Nov 10 Python
FFrpc python客户端lib使用解析
Aug 24 Python
python保留格式汇总各部门excel内容的实现思路
Jun 01 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
python字典key不能是可以是啥类型
Aug 04 Python
Python使用socket模块实现简单tcp通信
Aug 18 Python
通过代码实例解析Pytest运行流程
Aug 20 Python
FP-growth算法发现频繁项集——构建FP树
Jun 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里的JS打印函数
2006/10/09 PHP
十天学会php之第六天
2006/10/09 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
PHP通用检测函数集合
2011/02/08 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
2016/11/30 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
判断访客终端类型集锦
2015/06/05 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
微信小程序-获得用户输入内容
2017/02/13 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
2018/08/07 Javascript
基于JavaScript实现留言板功能
2020/03/16 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
python使用os模块的os.walk遍历文件夹示例
2014/01/27 Python
python简单实现基数排序算法
2015/05/16 Python
Python中的getopt函数使用详解
2015/07/28 Python
Python yield与实现方法代码分析
2018/02/06 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python + OpenCV 实现LBP特征提取的示例代码
2019/07/11 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
Python中import导入不同目录的模块方法详解
2020/02/18 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
C#笔试题集合
2013/06/21 面试题
一道Delphi上机题
2012/06/04 面试题
项目建议书范文
2014/05/12 职场文书
业务员岗位职责
2015/02/03 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS