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代码给操作系统终端发送 ...
随机推荐
- Uep查询语句总结
今天没事干总结一下uep查询语句: 第一种方法: 注意在实体写上对应的构造方法 package com.haiyisoft.entity.wz; import java.math.BigDecimal ...
- LaTex&&markdown
LaTeX在线编辑器:传送门 LaTeX常用公式整理(转载):传送门 Markdown洛谷教程(转载):传送门 Markdown基本语法(转载):传送门 Markdown数学符号和语法(转载):传送门 ...
- IMDB Classification on Keras
IMDB Classification on Keras In the book of Deep Learning with Python, there is an example of IMDB m ...
- SQL查询的嵌套
SQL查询过程中,可以将查询嵌套为表,嵌套时需要给每个派生出来的表一个自己的别名. 如图:
- 使用Nginx做WebSockets代理教程
WebSocket 协议提供了一种创建支持客户端和服务端实时双向通信Web应用程序的方法.作为HTML5规范的一部分,WebSockets简化了开发Web实时通信程 序的难度.目前主流的浏览器都支持W ...
- 一张图包含SEO一切要点
看到一张好图 from http://www.rongyipiao.com/?p=8
- ugui多层解决方案
创建不同的相机图层以渲染事物(最佳实践解决方案) 链接:https://answers.unity.com/questions/1169898/hi-guys-i-need-some-help-wit ...
- maven的各种异常
1. 问题 本文将讨论Spring中最常见的配置问题 —— Spring的一个命名空间的名称空间处理程序没有找到. 大多数情况下,是由于一个特定的Spring的jar没有配置在classpath下,让 ...
- 未能加载文件或程序集“microsoft.Build.Engine, Version=3.5.0.0,...”或它的摸一个依赖项。
今天想打开IIS服务,然后点错了,不小心关掉了.net组件,结果vs就一直打不开项目,最后在网上查到了原因,打开 控制面板->程序和功能->打开或关闭功能 在里面勾选Microsoft . ...
- springboot基于方法级别注解事务的多数据源切换问题
springBoot多数据源配置 配置读数据源 @Component @ConfigurationProperties(prefix = "jdbc.read") @Propert ...