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模块之导入包及模块发布的更多相关文章

  1. guxh的python笔记十:包和模块

    1,包和模块 包package:本质就是一个文件夹/目录,必须带一个__init.__.py的文件 模块module:.py结尾的python文件 2,导入方法 import pandas, coll ...

  2. python模块_pcharm导入包的问题

    1.添加pip包 2.导入项目需要由内置包(library root)

  3. python 输入参数解包,模块导入,接收IO输入参数

    #coding=utf-8 from sys import argv script,first,second,third = argv print "the script is=" ...

  4. 吴裕雄--天生自然PythonDjangoWeb企业开发:解决使用相对路径名导入包中子模块问题

    问题 将代码组织成包,想用import语句从另一个包名没有硬编码过的包中导入子模块. 解决方案

  5. 21.python的模块(Module)和包(Package)

    目录 模块(Module)和包(Package) 模块(modue)的概念 模块导入方法 1.import 语句 2.from-import 语句 3.from-import* 语句 4.运行本质 i ...

  6. 11、python模块的导入

    前言:本文主要介绍python模块的导入,包括模块的定义.模块的作用.导入方式以及模块的搜索路径. 一.模块的定义 python模块(module),简单来说就是一个python文件,以.py结尾,文 ...

  7. Python开发【第十五篇】模块的导入

    的导入语句 import 语句 语法: import 模块名1 [as 模块别名] 作用: 将某模块整体导入到当前模块 示例: import math import sys,os 用法: 模块名.属性 ...

  8. python小白入门之导入指定的模块

    在python中导入模块是通过关键字import进行导入的,下面演示一下,模块的导入,指定模块别名,指定函数别名,调用模块中所有的函数运行结果:  1.模块的导入Study.py文件里面的内容是:形式 ...

  9. subprocess, re模块,logging, 包等使用方法

    subprocess, re模块,logging, 包等使用方法 subprocess ''' subprocess: sub: 子 process: 进程 可以通过python代码给操作系统终端发送 ...

随机推荐

  1. js 外部引用文件与 onload()函数的优先级

    在HTML页面中的body加载进来的时候,外部引用的js文件存放的位置 1.js文件放在body里面,则是按照body的加载顺序(按先后顺序)进行加载 2.js文件放在<head>标签里面 ...

  2. android:layout_gravity 和 android:gravity 的区别?

    第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式

  3. Jmeter(七)参数化

    初识Jmeter的时候, 除了感觉安装和配置都很轻量以外, 还有一个最大的感触就是, 翻译真硬啊, 真的够够的! 和他磨合了挺长一段时间之后, 终于开悟了, 这些硬硬的翻译, 其实还是基本靠谱的, 看 ...

  4. [转] JavaScript学习:BOM和DOM的区别和关联

    BOM 1.  BOM是Browser Object Model的缩写,即浏览器对象模型. 2.  BOM没有相关标准. 3.  BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系 ...

  5. css3实现倾斜转动的转盘

    HTML代码: <div class="r-1">a</div> <div class="r-2">a</div> ...

  6. mysql应用之通过存储过程方式批量插入数据

    我们平时的测试过程中有一个环节就是准备测试数据,包括准备基础数据,准备业务数据,使用的场景包括压力测试,后台批量数据传输,前端大数据查询导出,或者分页打印等功能,准备测试数据我们通俗点讲就是造数据,根 ...

  7. MySql数据库优化-汇总

    各位,不喜勿喷,和气生财- 数据库优化,是一种综合性的技术,不是通过某一种方式让数据库效率提高很多,而是通过各个方面的优化,来是数据库效率明显的稳步的提高. 主要包括以下: 1.库表的设计优化(三种范 ...

  8. 【洛谷P1886】滑动窗口——单调队列

    没想到啊没想到,时隔两个月,我单调队列又懵了…… 调了一个小时,最后错在快读,啊!!!!(不过洛谷讨论真好啊,感谢大佬!) 考前就不推新东西了,好好写写那些学过的东西 题目点这里(我就不粘了自己点一下 ...

  9. 微信小程序 报错 “对应的服务器无效。控制台输入 showRequestInfo()可以获取更详细信息”

    之前做的项目突然无法读出数据了,一测试发现报这个错误==>对应的服务器无效.控制台输入 showRequestInfo()可以获取更详细信息,后来发现是SSL证书到期了.重新申请了一个证书,免费 ...

  10. Pycharm Debug 问题

    Pycharm debug 出现如下问题 Connected to pydev debugger (build 181.4668.75) Traceback (most recent call las ...