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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
为Python的web框架编写前端模版的教程
Apr 30 Python
Python抓取手机号归属地信息示例代码
Nov 28 Python
python编写Logistic逻辑回归
Dec 30 Python
Django管理员账号和密码忘记的完美解决方法
Dec 06 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
May 04 Python
selenium+python环境配置教程详解
May 28 Python
Python的缺点和劣势分析
Nov 19 Python
Python qrcode 生成一个二维码的实例详解
Feb 12 Python
Python实现手绘图效果实例分享
Jul 22 Python
多个版本的python共存时使用pip的正确做法
Oct 26 Python
如何在Python中妥善使用进度条详解
Apr 05 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+mysql开源XNA 聚合程序发布 下载
2007/07/13 PHP
php文件缓存类汇总
2014/11/21 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
关于jQuery对象数据缓存Cache原理以及jQuery.data详解
2013/04/07 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
node.js中的fs.chownSync方法使用说明
2014/12/16 Javascript
JS 对象属性相关(检查属性、枚举属性等)
2015/04/05 Javascript
全面解析Bootstrap表单使用方法(表单控件)
2015/11/24 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
详解vue项目的构建,打包,发布全过程
2017/11/23 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
js实现时分秒倒计时
2019/12/03 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
python查看微信好友是否删除自己
2016/12/19 Python
微信跳一跳游戏python脚本
2020/04/01 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
深入学习python多线程与GIL
2019/08/26 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
flask 实现token机制的示例代码
2019/11/07 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
2020/04/22 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
2020/06/30 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
美国购买韩国护肤和美容产品网站:Althea Korea
2020/11/16 全球购物
简历的个人自我评价范文
2014/01/03 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
支行行长竞聘演讲稿
2014/05/15 职场文书
企业人事任命书
2014/06/05 职场文书
英文升职感谢信
2015/01/23 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python