python模块之导入包及模块发布
1.导入包(不常用的方法)
在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如:
temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错
import temp temp.text1.hello()
现在我们在这个__init__.py文件中输入如下代码,再像上面那样导入时,将不会出错
from . import text1
from . import text2
运行结果:
2. 模块的发布
将自己创建的模块发布到系统目录下,这样就可以方便、随时导入我们的模块了,就像我们导入random模块一样方便了。
假如我们现在想发布temp包中的text1.py模块和text2.py模块
第一步:在与temp包同级的目录下创建一个setup.py文件
里面的内容为
from distutils.core import setup setup(name="zhao", version="1.0", description="This is the toolkit I used in my paper. ",
author="zhao", py_modules=["temp.text1", "temp.text2"])
第二步:在Python文件夹该级目录下启用shell,输入:python setup.py build。将会创建一个build.,查看结构和原py模块包,路径相仿,有lib等。
build之后会看到文件夹下多出了如下内容
第三步:制作模块压缩包:python setup.py sdist,在当前目录下生成了一个模块名加版本的模块压缩包。
sdist之后,多出了如下内容
第四步:解压和安装。解压这个压缩包,然后使用命令python setup.py install 进行安装。
我是安装在虚拟环境machineLearning中的。
第五步:安装完成之后进行测试
随便建立一个文件,导入我们刚才发布的包和模块,测试通过,安装成功。
第六步:如果需要卸载我们刚才安装的模块,直接手动卸载即可,我们安装的模块一般在这个目录下,删除安装的该文件夹即可。
python模块之导入包及模块发布的更多相关文章
- guxh的python笔记十:包和模块
1,包和模块 包package:本质就是一个文件夹/目录,必须带一个__init.__.py的文件 模块module:.py结尾的python文件 2,导入方法 import pandas, coll ...
- python模块_pcharm导入包的问题
1.添加pip包 2.导入项目需要由内置包(library root)
- python 输入参数解包,模块导入,接收IO输入参数
#coding=utf-8 from sys import argv script,first,second,third = argv print "the script is=" ...
- 吴裕雄--天生自然PythonDjangoWeb企业开发:解决使用相对路径名导入包中子模块问题
问题 将代码组织成包,想用import语句从另一个包名没有硬编码过的包中导入子模块. 解决方案
- 21.python的模块(Module)和包(Package)
目录 模块(Module)和包(Package) 模块(modue)的概念 模块导入方法 1.import 语句 2.from-import 语句 3.from-import* 语句 4.运行本质 i ...
- 11、python模块的导入
前言:本文主要介绍python模块的导入,包括模块的定义.模块的作用.导入方式以及模块的搜索路径. 一.模块的定义 python模块(module),简单来说就是一个python文件,以.py结尾,文 ...
- Python开发【第十五篇】模块的导入
的导入语句 import 语句 语法: import 模块名1 [as 模块别名] 作用: 将某模块整体导入到当前模块 示例: import math import sys,os 用法: 模块名.属性 ...
- python小白入门之导入指定的模块
在python中导入模块是通过关键字import进行导入的,下面演示一下,模块的导入,指定模块别名,指定函数别名,调用模块中所有的函数运行结果: 1.模块的导入Study.py文件里面的内容是:形式 ...
- subprocess, re模块,logging, 包等使用方法
subprocess, re模块,logging, 包等使用方法 subprocess ''' subprocess: sub: 子 process: 进程 可以通过python代码给操作系统终端发送 ...
随机推荐
- Django中csrf token验证原理
我多年没维护的博客园,有一篇初学Django时的笔记,记录了关于django-csrftoekn使用笔记,当时几乎是照抄官网的使用示例,后来工作全是用的flask.博客园也没有维护.直到我的博客收到了 ...
- 转 实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化(三)
这是本系列的最后一篇,主要是select_related() 和 prefetch_related() 的最佳实践. 第一篇在这里 讲例子和select_related() 第二篇在这里 讲prefe ...
- 比较&关系运算符
<1> 比较(即关系)运算符 python中的比较运算符如下表 运算符 描述 示例 == 检查两个操作数的值是否相等,如果是则条件变为真. 如a=3,b=3则(a == b) 为 true ...
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_8 spring中bean的细节之生命周期
区分单例还是多例对象 单例的几个状态 初始化方法和销毁方法 设置成我们定义的方法 测试 有创建和初始化.但是没有销毁,.对象一直没有销毁的方法 main方法是一切应用程序的入门.当main方法结束后. ...
- springmvc 使用Jackson框架的配置
<!--start:使用Jackson 1.x的配置,需要导入的jar包:jackson-core-lpgl-xxx.jar.jackson-mapper-lgpl-xxx.jar --> ...
- 【HTTP】一、HTTP协议简介及其工作流程
协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器. (一 ...
- 解决ubuntu16.04 USB鼠标键盘使用卡顿
小米游戏本,键盘突然M建不能用,去了售后换了个键盘. 小米售后真的不想吐槽……入坑 键盘鼠标卡顿由于挂起导致失灵,每次需要激活所以卡顿 解决办法如下: 编辑如下文件配置 sudo vim /etc/l ...
- javascript 数据类型之数值转换
数值转换 一.有3个函数可以把非数值转换为数值: Number() parse Int() parse Float() 说明: 1.Number()可以用于任何数据类型,强转类型,如果不能把指转成数值 ...
- idea 如何运行maven项目
1:run→Edit configurations 2:配置tomcat,左边如果没有tomcat server的话,点击 “+”,选择tomcat server→local,在右边server选项 ...
- 记一则update 发生enq: TX - row lock contention 的处理方法
根据事后在虚拟机中复现客户现场发生的情况,做一次记录(简化部分过程,原理不变) 客户端1执行update语句 SQL> select * from test; ID NAME --------- ...