9.3.发布一个包¶
把我们之前的Code做一个包,目录结构如下:
├── datalib
│ ├── base
│ │ ├── get_user_infos.py
│ │ ├── __init__.py
│ │ ├── test1.py
│ │ ├── test2.py
│ │ ├── test3.py
│ │ ├── test4.py
│ │ └── test.py
│ ├── __init__.py
│ ├── main.py
│ └── web
│ ├── data.py
│ ├── __init__.py
│ └── json.py
└── setup.py
模块的目录结构中包含一个setup.py文件,用于定义模块名称、包含的模块等模块信息
固定格式如下:
setup(name="模块名称", version="版本", description="模块描述", author="模块作者", py_modules=[包含的模块内容])
以demo为例:
from distutils.core import setup
setup(
name="datalib",
version="1.0",
description="数据相关的模块",
author="小明",
py_modules=[
"datalib.base.get_user_infos", "datalib.base.test", "datalib.web.json"
])
build命令(构建模块):python setup.py sdist 来张图更形象:
build文件夹:
dnt@MZY-PC:~/xiaoming/build$ tree
.
└── lib
└── datalib
├── base
│ ├── get_user_infos.py
│ ├── __init__.py
│ └── test.py
└── web
├── __init__.py
└── json.py
生成发布压缩包:python3 setup.py sdist 他会帮你打包成一个tar.gz的压缩包
其实你不构建,直接sdist也是可以的
dnt@MZY-PC:~/xiaoming$ tree
.
├── datalib
│ ├── base
│ │ ├── get_user_infos.py
│ │ ├── __init__.py
│ │ ├── test1.py
│ │ ├── test2.py
│ │ ├── test3.py
│ │ ├── test4.py
│ │ └── test.py
│ ├── __init__.py
│ ├── main.py
│ └── web
│ ├── data.py
│ ├── __init__.py
│ └── json.py
├── dist
│ └── datalib-1.0.tar.gz
├── MANIFEST
└── setup.py
9.4.安装自己打包的模块¶
安装比较简单,如果是build文件夹,直接sudo python setup.py install
如果是tar.gz,那么解压后再执行sudo python setup.py install
当然了,也可以目录安装:python setup.py install --prefix=路径
查看包内容:tar -tvf datalib-1.0.tar.gz
解包:tar -zxvf datalib-1.0.tar.gz
这些基础命令如果还不是很熟悉的话,可以看看逆天2015年写的LinuxBase文档
其实说句心里话,2015开始摸索虚拟机中的Linux,几年提升肯定是有的,但是绝对没有这几个月的Linux真机开发来得快
逆天还是建议程序员尽快适应Linux环境开发,刚开始的确不方便,适应之后就感觉Win特别麻烦了...
很多东西一个指令就可以实现的,重复执行的东西写个脚本批量执行
当然了你Win下各种跑脚本也是一样的,但是别忘了~公司服务器基本上都是Linux的,该面对的总该来的,加油~