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代码给操作系统终端发送 ...
随机推荐
- NSIS打包electron程序为exe安装包
在我的上一篇博客已经介绍了将electron程序生成一个exe可执行文件,但是这并不是最终能够发给用户用来安装的最终安装包,下面我们就介绍如何使用NISI将我们的应用程序打包成安装包: 上一篇博客我们 ...
- Python基本语法_函数_参数的多类型传值
前言 上一篇主要介绍了Python函数的参数类型,本篇继续学习Python函数多类型传值. 目录 前言 目录 软件环境 参数的多类型传值 向函数传递Tuple 向函数传递List 向函数传递Dicti ...
- CentOS 7 Docker 安装
CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 本文以 CentOS 7.6 版本 ...
- Install the Flash plug-in
Flash is a plug-in for your web browser that allows you to watch videos and use interactive web page ...
- cocos2dx[3.2](5) 屏幕适配
1.两个分辨率 1.1.窗口分辨率 在AppDelegate.cpp中有个设置窗口分辨率的函数.该函数是设置了我们预想设备的屏幕大小,也就是应用程序窗口的大小. // glView->setFr ...
- LeetCode.922-按奇偶排序数组 II(Sort Array By Parity II)
这是悦乐书的第354次更新,第379篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第216题(顺位题号是922).给定非负整数的数组A,A中的一半整数是奇数,而剩下的一半 ...
- QA Issue: PN: startUp is upper case, this can result in unexpected behavior. [uppercase-pn]
(借用一下) 该错误直接导致生成开机启动程序无法启动,既无法生成S99***快捷链接. 解决方法:仅仅将recpie lib-Test改成lib-test就可以了,即不要有大写字母. 附启动方法: S ...
- java中String中的endsWith()方法
解释:endsWith() ——此方法测试字符串是否以指定的后缀 suffix 结束. 此方法的定义:public boolean endsWith(String suffix) 我这里判断的是路径是 ...
- tensorflow keras导包混用
tensoboard 导入:导入包注意 否者会报错 :keras FailedPreconditionError: Attempting to use uninitialized value trai ...
- 【VS开发】cmd dos 批处理重命名文件
原文地址:http://hi.baidu.com/benchoi/item/c1f531f5f1367b0b85d2785b 批处理实现文件批量重命名并自动加递增序列号 有时我们想把一些图片批量重命名 ...