# py_tools **Repository Path**: koumei_lee/py_tools ## Basic Information - **Project Name**: py_tools - **Description**: python 写的基础调试小工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # README ## py_tools 使用 ### 第一次使用 创建 venv,并安装所需依赖包。 以 MacOS/Linux 环境,创建 .venv 为例,其他操作参考下面的章节介绍。 ```sh python3 -m venv .venv ## 或添加一些常用参数 python3 -m venv --clear --prompt py_tools .venv source .venv/bin/activate python3 -m pip install -r requirements.txt ``` ### 执行工具命令 激活 .venv 后执行相应的工具,结束后退出 venv 环境。 ```sh # 激活 venv source .venv/bin/activate # 执行工具命令 ./usb_lcus_py_tools.py # 退出 venv deactivate ``` ## python 虚拟环境 Python 虚拟环境 (Virtual Environment) 是一个**独立的目录树**,它包含一个特定 Python 版本的解释器以及一系列独立的 Python 包。这解决了不同项目可能依赖**不同版本库**的冲突问题,让你的每个项目都能拥有一个干净、专属的“工作空间”。 虚拟环境主要特点和操作的表格: | 方面 | 说明 | | :----------------: | :---------------------------------------------------------- | | **核心目的** | 为不同项目提供**依赖隔离**,避免包和版本冲突 | | **环境独立性** | 每个环境拥有自己的 Python 解释器(副本或链接)和独立的 `site-packages`目录 | | **位置与命名** | 通常位于项目目录下,命名为 `venv`或 `.venv`,也可集中存放(如 `~/.virtualenvs`) | | **与系统环境关系** | 默认**隔离**系统全局环境中的包,也可通过 `--system-site-packages`访问系统包 | | **可丢弃性** | 环境可轻易**删除和重建**,不应存放项目代码 | | **不可移动性** | 环境**不能**简单复制或移动到新位置,应在目标位置**重建** | 虚拟环境与其他方式的对比: | 方法 | 优点 | 缺点/风险 | 适用场景 | | :--------------------------------: | :------------------------------------: | :----------------------------: | :--------------------------------------: | | **使用虚拟环境** | **安全隔离**, 不影响系统, 社区标准做法 | 需要额外步骤创建和激活 | **项目开发**, 强烈推荐 | | **使用 `--user`参数** | 无需创建虚拟环境, 安装到用户目录 | 仍可能发生用户级别的包冲突 | 快速安装仅当前用户使用的工具 | | **使用 pipx** | 自动管理虚拟环境, 适合安装**全局工具** | 需要额外安装 pipx | 安装像 `black`, `flake8`这样的命令行工具 | | **使用 `--break-system-packages`** | 简单粗暴 | **可能破坏系统依赖**, 导致问题 | **极不推荐**, 仅用于测试或深知风险时 | ## 虚拟环境的操作介绍 ### 创建虚拟环境 ```sh # 创建一个名为 '.venv' 的虚拟环境 python3 -m venv .venv # 激活虚拟环境 # Linux/macOS: source .venv/bin/activate # Windows: # .venv\Scripts\activate.bat ``` ### 激活、退出虚拟环境 激活后,命令行提示符前会出现 `(.venv)`字样 ```sh > source .venv/bin/activate master (.venv) ``` 之后就可以在虚拟环境下安装pip包,如 ```sh pip install pyserial ## 或 python3 -m pip install pyserial ``` 退出虚拟环境 ```sh deactivate ``` ### 其他参数 `venv`还支持一些有用选项: - `--system-site-packages`: 让虚拟环境**可访问系统全局安装的包**(默认不访问)。 - `--without-pip`: **不安装 pip**(默认会安装)。 - `--clear`: 如果目标目录已存在,**先删除其内容**再创建环境。 - `--prompt PROMPT`: 为激活后的环境设置一个自定义提示符。 ### 在不同系统重使用 venv 创建后,需要激活才能使用: | 操作系统 | Shell类型 | 激活命令(假设环境名为 `.venv`) | 停用命令 | | :---------: | :----------------------: | :------------------------------: | :----------: | | Linux/macOS | bash/zsh | `source .venv/bin/activate` | `deactivate` | | | fish | `source .venv/bin/activate.fish` | `deactivate` | | | csh/tcsh | `source .venv/bin/activate.csh` | `deactivate` | | Windows | Command Prompt (cmd.exe) | `.venv\Scripts\activate.bat` | `deactivate` | | | PowerShell | `.venv\Scripts\Activate.ps1` | `deactivate` | ### 虚拟环境中管理包 ```sh # 安装包(例如安装Django) pip install django # 安装特定版本的包 pip install requests==2.28.1 # 升级包 pip install --upgrade requests # 卸载包 pip uninstall requests # 列出已安装的包 pip list # 生成requirements.txt文件,记录当前环境的依赖 pip freeze > requirements.txt # 根据requirements.txt文件安装所有依赖 pip install -r requirements.txt ```