setup.py
文件setup.py的文件
from distutils.core import setup
setup(
name="包名",
version="版本号",
description="模块说明",
author="作者",
author_email="作者邮箱",
url="主页",
py_modules=['模块py文件1', '模块py文件2', ... ]
)
参数的详细信息:
https://docs.python.org/3/distutils/apiref.html#module-distutils.core
python setup.py build
python setup.py sdist
from distutils.core import setup
setup(
name="hello_utilities", # 包名
version="0.0.1", # 版本号
description="test", # 模块说明
author="123", # 作者
author_email="[email protected]", # 作者邮箱
url="www.hello_utilities.com", # 主页
py_modules=["hello_utilities.plus_util",
"hello_utilities.minus_util"] # 模块py文件名
)
minus_util.py
def print_hello():
print("Welcome to minus file.")
def get_res(a, b):
return a - b
plus_util.py
def print_hello():
print("Welcome to plus file.")
def get_res(a, b):
return a + b
命令行进入hello_util项目,执行构建模块和生成发布压缩包模块命令。文件结构变为:
dist文件夹下的压缩包文件即为打包好的模块
解压缩文件
$ tar zxvf hello_utilities-0.0.1.tar.gz
hello_utilities-0.0.1/
hello_utilities-0.0.1/hello_utilities/
hello_utilities-0.0.1/hello_utilities/minus_util.py
hello_utilities-0.0.1/hello_utilities/plus_util.py
hello_utilities-0.0.1/hello_utilities/__init__.py
hello_utilities-0.0.1/PKG-INFO
hello_utilities-0.0.1/setup.py
# 进入到解压缩文件
$ cat PKG-INFO
Metadata-Version: 1.0
Name: hello_utilities
Version: 0.0.1
Summary: test
Home-page: www.hello_utilities.com
Author: 123
Author-email: [email protected]
License: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
# 安装包
python3 setup.py install
package: hello_utilities已经被成功安装到python的系统目录下
在python文件中输入
>>> hello_utilities.__file__
'/usr/lib/python3.6/site-packages/hello_utilities/__init__.py'
可以看到包所在的路径,进入site-packages,将该包删除即可。
rm -rf hello_utilities*