1.模块的位置

  现在当前路径查找,再到系统路径/usr/lib/python3.5/查找,再到其他系统路径查找

2.模块发布

  1)模块目录结构

Msg
├── __init__.py
├── recvmsg.py
└── sendmsg.py

  

  2)编辑setup.py文件

    py_modules需指明所需包含的py文件

from distutils.core import setup

setup(name="dongGe", version="1.0", description="dongGe's module", author="dongGe", py_modules=['Msg.sendmsg','Msg.recvmsg'])
.
├── Msg
│   ├── __init__.py
│   ├── recvmsg.py
│   └── sendmsg.py
└── setup.py

  

  3) .构建模块

    python setup.py build

###   构建后目录结构
.
├── build
│   └── lib
│   └── Msg
│   ├── __init__.py
│   ├── recvmsg.py
│   └── sendmsg.py
├── Msg
│   ├── __init__.py
│   ├── recvmsg.py
│   └── sendmsg.py
└── setup.py

  

  4)生成发布压缩包

  python setup.py sdist

##  打包后,生成最终发布压缩包dongGe-1.0.tar.gz , 目录结构
.
├── build
│   └── lib
│   └── Msg
│   ├── __init__.py
│   ├── recvmsg.py
│   └── sendmsg.py
├── dist
│   └── dongGe-1.0.tar.gz
├── MANIFEST
├── Msg
│   ├── __init__.py
│   ├── recvmsg.py
│   └── sendmsg.py
└── setup.py

  5)压缩包复制到其他地方可以使用

  dongGe-1.0.tar.gz
python@ubuntu:~/pythonS6/python基础10/03-发布模块$ cp dist/dongGe-1.0.tar.gz ~/Desktop/
python@ubuntu:~/pythonS6/python基础10/03-发布模块$ cd ~/Desktop/
python@ubuntu:~/Desktop$ ls
dongGe-1.0.tar.gz

3.模块的安装

  1)下载模块

python@ubuntu:~/Desktop$ ls
dongGe-1.0.tar.gz

  2)解压

python@ubuntu:~/Desktop$ tar -xvf dongGe-1.0.tar.gz 
.
├── dongGe-1.0
│   ├── Msg
│   │   ├── __init__.py
│   │   ├── recvmsg.py
│   │   └── sendmsg.py
│   ├── PKG-INFO
│   └── setup.py
└── dongGe-1.0.tar.gz

  3)PKG-INFO文件??  基本信息

python@ubuntu:~/Desktop$ cat dongGe-1.0/PKG-INFO
Metadata-Version: 1.0
Name: dongGe
Version: 1.0
Summary: dongGe's module
Home-page: UNKNOWN
Author: dongGe
Author-email: UNKNOWN
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN

  4) 进入文件夹,执行命令python setup.py install

python@ubuntu:~/Desktop/dongGe-1.0$ sudo python3 setup.py install

running install
running build
running build_py
running install_lib
running install_egg_info
Removing /usr/local/lib/python3.5/dist-packages/dongGe-1.0.egg-info
Writing /usr/local/lib/python3.5/dist-packages/dongGe-1.0.egg-info #安装成功

  5)引入模块。执行验证

In [3]: import Msg

In [4]: Msg.sendmsg.test1()
--sendmsg-test1---

day 5 模块发布安装的更多相关文章

  1. python的异常处理和模块发布安装

    1.完整的异常处理 异常处理能够保证程序出错是也能够完整运行,不会应为bug而停止运行,这里介绍下获取异常的完整格式 try: num = int(input("输入整数:")) ...

  2. nodejs模块发布及命令行程序开发

    前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...

  3. python: 模块发布

    一.准备发布 1.为模块文件创建一个文件夹,并将模块文件复制到这个文件中(一般,文件夹的名字和模块的名字一样) 2.在文件夹中创建一个名为『setup.py』的文件,内容如下: #encoding:u ...

  4. 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.方案简要 首先通过对开发方案的仔细研究(实时监控.流媒体.直播流方案的数据源-->协议转换-->服务器--&g ...

  5. python模块之导入包及模块发布

    1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...

  6. python 模块发布及使用

    将模块(此处名为nester)写好后,与setup.py放入同一个文件夹中: //setup.py from distutils.core import setup setup( name=" ...

  7. Jenkins教程(八)实现 GitLab 触发 Jenkins 自动按模块发布前端

    楔子 上篇文章解决了提交/合并请求自动触发的需求,但所有前端模块都在同一个代码仓库里,如何获取变更文件路径确定要发布哪个模块呢?本文将带你解决这个问题. 思路 分别解决 3 个问题: 获取变更的文件列 ...

  8. Pexpect模块的安装

    Pexpect模块的安装 下载地址:https://pypi.python.org/pypi/pexpect/ 解压后在目录下运行:python ./setup.py install (必须是root ...

  9. Python Beautiful Soup模块的安装

    以安装Beautifulsoup4为例: 1.到网站上下载:http://www.crummy.com/software/BeautifulSoup/bs4/download/ 2.解压文件到C:\P ...

随机推荐

  1. Shell,Bash,等脚本学习(有区别)

    二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别.   整数比较   -eq        等于,如:if [ "$a" -eq "$b" ] -n ...

  2. hdu 5971 Wrestling Match

    题目链接: hdu 5971 Wrestling Match 题意:N个选手,M场比赛,已知x个好人,y个坏人,问能否将选手划分成好人和坏人两个阵营,保证每场比赛必有一个好人和一个坏人参加. 题解:d ...

  3. Ajax向Controller发送请求并接受数据需要注意的一个细节

    想用Ajax想向Controller发送请求和接收返回的字符等等.Controller中要使用@ResponseBody注解. <script type="text/javascrip ...

  4. BZOJ2005:[NOI2010]能量采集(莫比乌斯反演,欧拉函数)

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...

  5. newcoder NOIP提高组模拟赛C题——保护

    我是发了疯才来写这道题的 我如果用写这道题的时间去写dp,我估计我能写上三四道 可怕的数据结构题 题目 这道题的鬼畜之处在于实在是不太好写 我们看到要求离树根尽量的近,所以我们很容易就能想到树上倍增, ...

  6. 【转】Linux如何查看JDK的安装路径

    http://www.cnblogs.com/kerrycode/archive/2015/08/27/4762921.html 如何在一台Linux服务器上查找JDK的安装路径呢? 有那些方法可以查 ...

  7. 处理java多线程时线程安全问题 - ThreadLocal和Synchronized

    多线程在自动化测试中用的不多,也就是说我们用单线程可以完成大部分的自动化测试脚本. 主要有两个原因,首先是因为自动化测试首要考虑的是脚本的稳定性,所以一般会牺牲效率以保证脚本稳定,其次是由于局限于我们 ...

  8. ng2-bootstrap的modal嵌套时无法滚动的情况

    在ng2-bootstrap的弹窗modal中再弹出另外一个弹窗,关闭子弹窗后,父弹窗会出现无法上下滚动的情况. 通过观察样式可知,关闭子弹窗前,父弹窗的body上是有modal-open样式的,关闭 ...

  9. 【VS插件】Highlight all occurrences of selected word

    这个插件可以让相同的单词全部高亮成绿色,在VS中看一些文本(比如SQL)类型的文件时非常好用. 类似于这种效果:

  10. 绘图驱动-OSD原理1

    OSD(On Screen Display)是屏幕显示技术的一种,用于在显示终端上显示字符.图形和图像.实现的过程为:存储器(一般为内存的一段)的内容与显示终端上的像素一一对应.这种一一对应的关系一般 ...