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 urlopen 使用小示例
Sep 06 Python
Python实现从百度API获取天气的方法
Mar 11 Python
Python网站验证码识别
Jan 25 Python
python版微信跳一跳游戏辅助
Jan 11 Python
python搭建服务器实现两个Android客户端间收发消息
Apr 12 Python
Python处理命令行参数模块optpars用法实例分析
May 31 Python
对Python协程之异步同步的区别详解
Feb 19 Python
Python 3 判断2个字典相同
Aug 06 Python
基于python读取.mat文件并取出信息
Dec 16 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
Python监听剪切板实现方法代码实例
Nov 11 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
PHP SEO优化之URL优化方法
2011/04/21 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
2020/08/20 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
另一个javascript小测验(代码集合)
2011/07/27 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
JavaScript表单即时验证 验证不成功不能提交
2017/08/31 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
详解vue 组件
2020/06/11 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
python图形开发GUI库wxpython使用方法详解
2020/02/14 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
css3的transition属性详解
2014/12/15 HTML / CSS
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
几个MySql的面试题
2013/04/22 面试题
后勤岗位职责
2013/11/26 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
爱与责任演讲稿
2014/05/20 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
教你怎么用PyCharm为同一服务器配置多个python解释器
2021/05/31 Python
Python一些基本的图像操作和处理总结
2021/06/23 Python
Python实现查询剪贴板自动匹配信息的思路详解
2021/07/09 Python