【Python自动化测试】setuptools

本文介绍Python标准打包工具setuptools的基本用法及高级配置选项,通过简单的setup.py文件即可完成Python项目的打包工作,支持创建egg和tar.gz包并进行安装。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setuptools

  • Python标准的打包分发工具
  • 使用简单的setup.py文件,将Python应用打包
  1. 最基础的setup.py文件
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from setuptools import setup
setup(
    name='MyDemo',      	# 应用名
    version='1.0',      	# 版本号
    packages=['mydemo'],	# 包括安装包在内的Python包
)
  1. 一个复杂的setup.py文件
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from setuptools import setup
setup(
    name='MyApp',						# 应用名
    version=about['__version__'],		# 版本号
    package_dir=[						# 安装包
    'ui': 'ui/page',
    'openAPI': 'openAPI/utils'
    ],			
    packages=find_packages(),			# 自动搜索python包,包括在安装包内的python包									
    install_requires=[					# 依赖列表,自动安装依赖
    'Flask>=0.10',
    'Flask-SQLAlchemy>=1.5,<=2.1',
    ],			
    include_package_data=True,			# 地洞清单文件MANIFEST.in
    exclude_package_date={'':['.gitignore']}	# 将所有".gitignore"文件排除在包外
    
    # 描述信息--部分参数提供了更多当前应用的细节信息,对打包安装并无任何影响
    author='Amey',						# 作者
    author_email='example@email.com',	# 邮件
    description='This is a sample package',		
    python_requires='>=3.6.0',			# python版本
    license="MIT",
    keyswords="A sample example",
    url="http://example.com/HelloWorld",# 项目主页
    long_description=__doc__			# 从代码中获取文档注释
)

在清单文件 MANIFEST.in 中,列出想要在保内引入的目录路径:

recursive-include mydemo/xxx *

执行安装文件

  1. 创建egg包
python setup.py bdist_egg
  • 在当前目录下的"dist"目录内创建一个名为"MyDemo-1.0-py3.7.egg"的文件
  • 目录多了"bulid"和"MyDemo.egg-info"子目录来存放打包的中间结果
  1. 创建tar.gz包
python setup.py adist --formats=gztar

新增"MyDemo-1.0.tar.gz"文件

  1. 安装应用
python setup.py install

将当前的Python应用安装到当前的Python环境的"site-packages"目录下,方便其他程序导入

  1. 开发方式安装
python setup.py develop
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值