day 5 模块发布安装
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 模块发布安装的更多相关文章
- python的异常处理和模块发布安装
1.完整的异常处理 异常处理能够保证程序出错是也能够完整运行,不会应为bug而停止运行,这里介绍下获取异常的完整格式 try: num = int(input("输入整数:")) ...
- nodejs模块发布及命令行程序开发
前置技能 npm工具为nodejs提供了一个模块和管理程序模块依赖的机制,当我们希望把模块贡献出去给他人使用时,可以把我们的程序发布到npm提供的公共仓库中,为了方便模块的管理,npm规定要使用一个叫 ...
- python: 模块发布
一.准备发布 1.为模块文件创建一个文件夹,并将模块文件复制到这个文件中(一般,文件夹的名字和模块的名字一样) 2.在文件夹中创建一个名为『setup.py』的文件,内容如下: #encoding:u ...
- 搭建rtmp直播流服务之1:使用nginx搭建rtmp直播流服务器(nginx-rtmp模块的安装以及rtmp直播流配置)
欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) 一.方案简要 首先通过对开发方案的仔细研究(实时监控.流媒体.直播流方案的数据源-->协议转换-->服务器--&g ...
- python模块之导入包及模块发布
1.导入包(不常用的方法) 在使用python的包时,有时候想直接导入包名,然后通过包名来调用模块,例如: temp为我们创建的一个包,如果我们想通过下面的方式进行导入模块中的方法,将会出错 impo ...
- python 模块发布及使用
将模块(此处名为nester)写好后,与setup.py放入同一个文件夹中: //setup.py from distutils.core import setup setup( name=" ...
- Jenkins教程(八)实现 GitLab 触发 Jenkins 自动按模块发布前端
楔子 上篇文章解决了提交/合并请求自动触发的需求,但所有前端模块都在同一个代码仓库里,如何获取变更文件路径确定要发布哪个模块呢?本文将带你解决这个问题. 思路 分别解决 3 个问题: 获取变更的文件列 ...
- Pexpect模块的安装
Pexpect模块的安装 下载地址:https://pypi.python.org/pypi/pexpect/ 解压后在目录下运行:python ./setup.py install (必须是root ...
- Python Beautiful Soup模块的安装
以安装Beautifulsoup4为例: 1.到网站上下载:http://www.crummy.com/software/BeautifulSoup/bs4/download/ 2.解压文件到C:\P ...
随机推荐
- xalan\xalan\2.7.2\xercesImpl.jar (系统找不到指定的文件)问题
本文转自:http://blog.csdn.net/lveliu/article/details/77772828 环境搭建为:maven+tomcat tomcat 8.5.2 以上会出现改问题(包 ...
- UVa 1635 - Irrelevant Elements(二项式系数 + 唯一分解定理)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Avito Cool Challenge 2018 C. Colorful Bricks 【排列组合】
传送门:http://codeforces.com/contest/1081/problem/C C. Colorful Bricks time limit per test 2 seconds me ...
- shiro权限配置的细节问题&认证
细节: ---[urls]部分配置,其格式是 url=拦截器[参数] ,拦截器[参数] ---如果当前请求的 url 匹配 [urls] 部分或者某个url模式,将会执行配置的拦截器 ---an ...
- MS12-020蓝屏攻击
MS12-020远程桌面协议RDP拒绝访问漏洞 条件:受害者必须开放RDP协议 开放了3389端口 或者端口改了,知道对方RDP开放的对应端口. 过程:MSF利用 MSF显示为seems down说明 ...
- 二叉树前序、中序、后序非递归遍历 144. Binary Tree Preorder Traversal 、 94. Binary Tree Inorder Traversal 、145. Binary Tree Postorder Traversal 、173. Binary Search Tree Iterator
144. Binary Tree Preorder Traversal 前序的非递归遍历:用堆来实现 如果把这个代码改成先向堆存储左节点再存储右节点,就变成了每一行从右向左打印 如果用队列替代堆,并且 ...
- mongo删除、添加分片
MongoDB 分片的原理.搭建.应用 一.概念: 分片(sharding)是指将数据库拆分,将其分散在不同的机器上的过程.将数据分散到不同的机器上,不需要功能强大的服务器就可以存储更多的数据和处 ...
- hadoop-2.2.0 HA配置
采用的是4台真实机器: namenode:qzhong node27 datanode:qzhong node27 node100 node101 操作系统环境:qzhong(Ubuntu-14.0 ...
- Knowledge Point 20180303 我们为什么要配置环境变量
1.1为什么要配置环境变量 在学习JAVA的过程中,涉及到多个环境变量(environment variable)的概念,如PATH.正确地配置这些环境变量,是能够顺利学习.开发的前提.而经常出现的问 ...
- C++练习 | 创建并正序输出不带头结点的链表
#include <iostream> #include <cstdio> #include <stdlib.h> using namespace std; str ...