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 ...
随机推荐
- thuwc2018 爆炸记
从没考过这么差,必须好好总结一下.. $day1$: 上午到了雅礼洋湖,下午就开始考试.. 食堂饭菜还是很不错的,听说都是雅礼自己垫的? 下午的$day1$爆炸了.. 开考以后看了一下三个题,感觉一开 ...
- Cocos2d-x 3.1.1 学习日志3--C++ 初始化类的常量数据成员、静态数据成员、常量静态数据成员
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/u011292087/article/details/37598919 有关const成员.stati ...
- 蓝牙BLE4.0的LL层数据和L2CAP层数据的区分与理解
一直搞不太清楚蓝牙BLE协议,不知道LL层和L2CAP层是如何划分的,后来博士给我讲了讲就理解了,写下来,做个记录: 1. 我们知道,除了蓝牙5.1新出的CTE,所有的BLE都是如下类型的包: 对于连 ...
- Anaconda安装与常用命令及方法(深度学习入门1)
Anaconda是一个软件发行版,它附带了 conda.Python 和 150 多个科学包及其依赖项. 安装Anaconda Anaconda分为Linux.Windows.Mac等版本,去 htt ...
- java连接数据库增删改查公共方法
package dao; import java.io.IOException; import java.sql.CallableStatement; import java.sql.Connecti ...
- 【题解】洛谷P1315 [NOIP2011TG] 观光公交(前缀和+贪心)
次元传送门:洛谷P1315 思路 思路大概想到了 可是代码实现却没想到 所以参考题解了 D2T3的贪心果然有难度 我们考虑在每次用加速器有两种情况 到下一个点还需要等待:以后的时间就不再影响了 到下一 ...
- 统计 SQL Server中的 Job 情况
SELECT J.name 作业名称, P.step_id'步骤编号',P.step_name'步骤名称',p.SubSystem '步骤类型',P.command'执行命令', CASE freq_ ...
- HTML5视频播放插件 video.js介绍
video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/ git& ...
- 微信网页授权-公众号支付(获取openid、用户信息等)
名词解释: openid 用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID 业务功能描述:实现H5页面可以在微信浏览器里面进行微信支付,所以需要 ...
- 【HDOJ 2888】Check Corners(裸二维RMQ)
Problem Description Paul draw a big m*n matrix A last month, whose entries Ai,j are all integer numb ...