手机pc网站模板郑州网站设计
2026/6/20 3:50:26 网站建设 项目流程
手机pc网站模板,郑州网站设计,餐饮品牌设计制作,电影网站如何做采集Python 命令行工具编译argparse1-妇女之友-argparse 1-脚本代码 #!/usr/bin/env python3argparse 示例脚本 演示如何使用 Python 标准库 argparse 创建命令行工具 import argparse import sysdef create_parser():创建…Python 命令行工具编译argparse1-妇女之友-argparse1-脚本代码#!/usr/bin/env python3 argparse 示例脚本 演示如何使用 Python 标准库 argparse 创建命令行工具 importargparseimportsysdefcreate_parser():创建命令行参数解析器parserargparse.ArgumentParser(description这是一个简单的命令行工具示例,epilog示例: python argparse_01_simple.py 张三 --age 25 --city 北京,formatter_classargparse.RawDescriptionHelpFormatter)# 位置参数parser.add_argument(name,typestr,help你的名字)# 可选参数parser.add_argument(-a,--age,typeint,help你的年龄)parser.add_argument(-c,--city,typestr,default未知,help你所在的城市 (默认: 未知))parser.add_argument(--verbose,actionstore_true,help显示详细信息)parser.add_argument(--version,actionversion,version%(prog)s 1.0.0)returnparserdefmain():主函数print(正在执行 argparse 示例程序...)parsercreate_parser()argsparser.parse_args()# 基本问候print(f你好{args.name})# 如果有年龄参数ifargs.age:print(f你今年{args.age}岁了。)# 年龄分类ifargs.age18:print(你还是个未成年人士)elifargs.age30:print(你正处于青壮年时期)elifargs.age50:print(你正值壮年)else:print(你已经步入中老年阶段)# 显示城市信息print(f你来自{args.city})# 详细信息模式ifargs.verbose:print(\n--- 详细信息 ---)print(f程序名称:{sys.argv[0]})print(f解析到的参数:{args})print(感谢使用这个示例程序)if__name____main__:main()2-setup脚本#!/usr/bin/env python3 setup.py - Python 包配置文件 用于将命令行工具打包成可安装的包 fromsetuptoolsimportsetup,find_packages# 读取 README 文件如果存在try:withopen(README.md,r,encodingutf-8)asfh:long_descriptionfh.read()exceptFileNotFoundError:long_descriptionPython 命令行工具示例项目# 读取 requirements.txt 文件如果存在requirements[]try:withopen(requirements.txt,r,encodingutf-8)asfh:requirements[line.strip()forlineinfhifline.strip()andnotline.startswith(#)]exceptFileNotFoundError:# 如果没有 requirements.txt指定基本依赖requirements[click8.0.0,fire0.4.0]setup(# 基本信息namepython-cli-examples,version1.0.0,author开发者,author_emaildeveloperexample.com,descriptionPython 命令行工具开发示例集合,long_descriptionlong_description,long_description_content_typetext/markdown,urlhttps://github.com/example/python-cli-examples,# 包配置由于没有包结构使用scripts配置# packagesfind_packages(),py_modules[argparse_01_simple],classifiers[Development Status :: 5 - Production/Stable,Intended Audience :: Developers,Topic :: Software Development :: Libraries :: Python Modules,Topic :: System :: Systems Administration,Topic :: Utilities,License :: OSI Approved :: MIT License,Programming Language :: Python :: 3,Programming Language :: Python :: 3.7,Programming Language :: Python :: 3.8,Programming Language :: Python :: 3.9,Programming Language :: Python :: 3.10,Programming Language :: Python :: 3.11,Programming Language :: Python :: 3.12,Operating System :: OS Independent,],# Python 版本要求python_requires3.7,# 依赖包install_requiresrequirements,# 额外依赖组extras_require{dev:[pytest6.0,pytest-cov2.0,black21.0,flake83.8,mypy0.900,],test:[pytest6.0,pytest-cov2.0,],docs:[sphinx4.0,sphinx-rtd-theme0.5,],},# 命令行入口点entry_points{console_scripts:[# argparse 示例命令argparse-demoargparse_01_simple:main,],},# 包含的数据文件include_package_dataTrue,package_data{:[*.md,*.txt,*.yml,*.yaml],},# 项目 URLproject_urls{Bug Reports:https://github.com/example/python-cli-examples/issues,Source:https://github.com/example/python-cli-examples,Documentation:https://python-cli-examples.readthedocs.io/,},# 关键词keywordscli argparse click fire command-line tools examples,# 许可证licenseMIT,# 是否包含源码zip_safeFalse,)3-项目测试# 1-目录文件展示(base)MacBook-Pro:python_setup_demo rong$lsBUILD_GUIDE.md argparse_01_simple.py setup.py# 2-原生脚本测试(base)MacBook-Pro:python_setup_demo rong$ python argparse_01_simple.py 张三 -a25-c 北京 正在执行 argparse 示例程序... 你好张三 你今年25岁了。 你正处于青壮年时期 你来自北京# 3-安装执行脚本(base)MacBook-Pro:python_setup_demo rong$ pipinstall.Lookinginindexes: https://pypi.tuna.tsinghua.edu.cn/simple Processing /Users/rong/Documents/EnzoApplication/WorkSpace/Python/20251222_Python_Setup/python_setup_demo Preparing metadata(setup.py)...doneRequirement already satisfied: click8.0.0in/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from python-cli-examples1.0.0)(8.0.4)Requirement already satisfied: fire0.4.0in/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from python-cli-examples1.0.0)(0.7.1)Requirement already satisfied: termcolorin/Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages(from fire0.4.0-python-cli-examples1.0.0)(3.2.0)Building wheelsforcollected packages: python-cli-examples Building wheelforpython-cli-examples(setup.py)...doneCreated wheelforpython-cli-examples:filenamepython_cli_examples-1.0.0-py3-none-any.whlsize3088sha2561e38d417b4c61a60b3acf3ecc8babb938f239f182dbd9b86b67640089ab52861 Storedindirectory: /private/var/folders/kt/jy68vj1523dclg3py07q6zxc0000gn/T/pip-ephem-wheel-cache-5u7bw0u5/wheels/3d/19/5b/66b6bb4de747fb17d2199f8aa5945077a5084fa9a196f1092c Successfully built python-cli-examples Installing collected packages: python-cli-examples Successfully installed python-cli-examples-1.0.0# 4-安装后直接测试1(base)MacBook-Pro:python_setup_demo rong$ argparse-demo 测试用户 --age30--city 上海 --verbose 正在执行 argparse 示例程序... 你好测试用户 你今年30岁了。 你正值壮年 你来自上海 --- 详细信息 --- 程序名称: /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/argparse-demo 解析到的参数: Namespace(name测试用户,age30,city上海,verboseTrue)感谢使用这个示例程序# 4-安装后直接测试2(base)MacBook-Pro:python_setup_demo rong$ argparse-demo 测试用户 --city 上海正在执行 argparse 示例程序... 你好测试用户 你来自上海(base)MacBook-Pro:python_setup_demo rong$whichargparse-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/argparse-demo(base)MacBook-Pro:python_setup_demo rong$ argparse-demo --version 正在执行 argparse 示例程序... argparse-demo1.0.0# 5-展示安装目录-查询setup中的name(这个才是文件夹)(base)MacBook-Pro:python_setup_demo rong$ pip show python-cli-examples Name: python-cli-examples Version:1.0.0 Summary: Python 命令行工具开发示例集合 Home-page: https://github.com/example/python-cli-examples Author: 开发者 Author-email: developerexample.com License: MIT Location: /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages Requires: click, fire Required-by:# 6-展示安装目录-查询setup中命令行入口点-entry_points中console_scripts(这个其实是脚本)(base)MacBook-Pro:python_setup_demo rong$ pip show argparse-demo WARNING: Package(s)not found: argparse-demo# 7-脚本卸载(base)MacBook-Pro:python_setup_demo rong$ pip uninstall python-cli-examples Found existing installation: python-cli-examples1.0.0 Uninstalling python-cli-examples-1.0.0: Would remove: /Applications/0ENZO/Installs/anaconda3/anaconda3/bin/argparse-demo /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages/argparse_01_simple.py /Applications/0ENZO/Installs/anaconda3/anaconda3/lib/python3.10/site-packages/python_cli_examples-1.0.0.dist-info/* Proceed(Y/n)? y Successfully uninstalled python-cli-examples-1.0.02-项目说明项目概述本项目是一个基于 Pythonargparse模块的命令行工具示例项目演示如何将 Python 脚本打包成可安装的命令行工具。项目结构python_setup_demo/ ├── setup.py # 包配置文件 ├── argparse_01_simple.py # 主要的命令行工具脚本 └── BUILD_GUIDE.md # 本编译指南文件说明setup.py作用: Python 包的构建和分发配置文件包名:python-cli-examples版本:1.0.0入口点:argparse-demo命令将映射到argparse_01_simple:mainargparse_01_simple.py功能: 演示 argparse 库的基本用法入口函数:main()支持的参数:name(必需): 用户姓名-a, --age: 年龄信息-c, --city: 城市信息 (默认: “未知”)--verbose: 详细信息模式--version: 显示版本信息编译和安装步骤1. 环境要求Python 3.7pip (Python 包管理器)2. 直接运行脚本# 基本用法python argparse_01_simple.py 张三# 带可选参数python argparse_01_simple.py 张三 --age25--city 北京# 详细信息模式python argparse_01_simple.py 张三 --age25--city 北京 --verbose# 查看帮助python argparse_01_simple.py --help# 查看版本python argparse_01_simple.py --version3. 安装为可执行命令方法一: 开发模式安装 (推荐用于开发)# 在项目根目录下执行测试环境pipinstall-e.安装后可以在任何位置使用命令argparse-demo 张三 --age25--city 北京方法二: 标准安装# 在项目根目录下执行正式安装pipinstall.4. 构建分发包4.1 安装构建工具# 安装 setuptools 和 wheelpipinstallsetuptools wheel4.2 构建分发包# 构建 source distribution 和 wheelpython setup.py sdist bdist_wheel构建完成后会在dist/目录下生成以下文件python-cli-examples-1.0.0-py3-none-any.whl(wheel 包)python-cli-examples-1.0.0.tar.gz(源码包)4.3 从分发包安装# 从 wheel 包安装pipinstalldist/python-cli-examples-1.0.0-py3-none-any.whl# 或从源码包安装pipinstalldist/python-cli-examples-1.0.0.tar.gz5. 卸载# 卸载已安装的包pip uninstall python-cli-examples测试验证安装前测试# 测试脚本是否正常运行python argparse_01_simple.py 测试用户 --age30--city 上海 --verbose安装后测试# 测试命令行工具是否正确安装argparse-demo 测试用户 --age30--city 上海 --verbose# 检查命令是否在 PATH 中whichargparse-demo# 验证版本信息argparse-demo --version验证安装# 检查包是否已安装pip show python-cli-examples# 检查入口点是否正确python -cimport argparse_01_simple; print(argparse_01_simple.__doc__)注意: 本指南基于argparse_01_simple.py文件和相应的setup.py配置。如需修改项目结构或功能请同步更新配置文件。3-安装区别1-pip install -e . 和 pip install . 的区别pip install -e .和pip install .都是用于安装 Python 包的命令但它们在安装方式和用途上有一些区别1.pip install .含义安装当前目录下的 Python 包。工作原理这个命令会将当前目录下定义的包通常是一个包含setup.py文件的目录安装到 Python 的环境中。安装完成后包会被复制到 Python 的site-packages目录中。之后无论你在哪个目录下运行 Python都可以直接导入这个包。适用场景当你完成了一个包的开发希望将其安装到环境中以便在其他项目中使用时。适合于“一次性”安装即安装后不经常修改包的代码。2.pip install -e .含义以“可编辑模式”安装当前目录下的 Python 包。工作原理-e参数表示“editable”即“可编辑模式”。这个命令不会将包的代码复制到site-packages目录而是会在site-packages中创建一个指向当前目录的链接。这样当你修改当前目录下的代码时这些修改会立即反映到已安装的包中无需重新安装。适用场景当你正在开发一个包并且需要频繁修改代码时。这种方式可以让你在开发过程中实时看到代码修改的效果而不需要每次修改后都重新安装包。总结pip install .适合安装已经开发完成的包安装后代码不会频繁修改。pip install -e .适合开发过程中使用方便实时测试代码修改的效果。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询