Python模块发布

通过distutils发布模块

1. 发布模块

1.1 创建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

1.2 构建模块

python setup.py build

1.3 生成发布压缩包

python setup.py sdist

1.4 例

文件列表:
Python模块发布_第1张图片
setup.py

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项目,执行构建模块和生成发布压缩包模块命令。文件结构变为:
Python模块发布_第2张图片
dist文件夹下的压缩包文件即为打包好的模块

2. 安装模块

解压缩文件

$ 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的系统目录下

3. 删除模块

在python文件中输入

>>> hello_utilities.__file__
'/usr/lib/python3.6/site-packages/hello_utilities/__init__.py'

可以看到包所在的路径,进入site-packages,将该包删除即可。

rm -rf hello_utilities*

你可能感兴趣的:(Python,Python)