news 2026/7/10 22:30:13

Python学习小记-类的引用,python下载的依赖管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python学习小记-类的引用,python下载的依赖管理

文章目录

  • 类和对象
  • 依赖管理
    • requirements.txt 文件格式
    • 本地虚环境
      • 创建虚拟环境
      • 手动激活虚拟环境
      • 本地包安装
    • uv 使用方法

类和对象

引用方式:
import 另一个文件名
from 另一个文件名 import 类名

假设同级目录下有一个文件:my_classes.py
my_classes.py 中定义了一个类:class MyClass: …
新文件(比如 main.py)中:

importmy_classes obj=my_classes.MyClass()
frommy_classesimportMyClass obj=MyClass()

依赖管理

python 的依赖管理比较多和混乱,最初的使用比较多的requirements.txt 到 统一的 pyproject.toml;

requirements.txt 文件格式

package_name # 安装最新版(不推荐,因为结果不确定)
package_name==1.2.3 # 精确指定版本
package_name>=1.2,<2.0 # 版本范围
package_name~=1.2.3 # 兼容版本(约等于 >=1.2.3, ==1.2.*)

作用:依赖环境统一,类似java的pom.xml
使用方式:

pip install -r requirements.txt

已有项目生成requirements.txt命令:

pip freeze > requirements.txt

后面改用:pyproject.toml 文件管理依赖

uv、Poetry、PDM 都是依赖管理工具,但是它们的使用方式和功能略有不同。uv 是一个简单的依赖管理工具,而 Poetry 和 PDM 则是更复杂的工具,支持更多功能。

本地虚环境

本地虚拟环境下依赖独立,pip install 安装是全局安装,创建本地虚拟环境则依赖独立的一个干净的环境,防止依赖的库冲突;

创建虚拟环境

python -m venv .venv

手动激活虚拟环境

.venv\Scripts\activate

原理是:
import sys,pprint
pprint.pprint(sys.path)
就是修改了sys.path,添加了.venv\Lib\site-packages目录

本地包安装

pip install -e .

原始虚拟环境操作步骤:

# 创建虚拟环境 python -m venv .venv # 激活虚拟环境 .venv\Scripts\activate # 安装包相关依赖管理 pyproject.toml # 安装依赖 pyproject.toml 的依赖 pip install -e .

uv 使用方法

安装uv:

powershell-ExecutionPolicy ByPass-c"irm https://astral.sh/uv/install.ps1 | iex"

验证uv安装情况:
cmd直接输入:uv

项目使用uv管理虚拟环境相关依赖:
1.要有pypoject.toml文件(初始只保留基础的name,versino,description节点)
示例:

[project] name = "周报工具" version = "1.0.0" dependencies = [ ]

2.使用 uv add 依赖名称
如果是已有项目的源码则执行:uv sync

uv python list — 列出uv支持的python版本
uv python install cpython3.12 — 安装某个python版本 (3.12)
uv run -p 3.12 xxx.py — 使用特定版本python运行xxx.py
uv run -p 3.12 python — 运行python交互界面
uv run xxx.py — 使用系统python或当前工程的虚拟环境运行xxx.py
uv init — 创建工程
uv add pydantic_ai — 添加依赖 (pydantic_ai)
uv tree — 打印依赖树
uv remove pydantic_ai — 删除依赖
uv build — 编译工程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/10 22:27:35

ADP5350与PIC18F85J50嵌入式电源管理方案详解

1. 为什么选择ADP5350与PIC18F85J50组合在嵌入式系统设计中&#xff0c;电源管理单元&#xff08;PMU&#xff09;的选型往往决定了整个系统的稳定性和能效表现。ADP5350作为ADI公司推出的高集成度PMIC芯片&#xff0c;其独特的三模式充电机制&#xff08;涓流/恒流/恒压&#…

作者头像 李华
网站建设 2026/7/10 22:26:08

AI 习惯追踪的反馈设计:鼓励不是堆砌赞美,而是记录可见进步

AI 习惯追踪的反馈设计&#xff1a;鼓励不是堆砌赞美&#xff0c;而是记录可见进步 一、习惯追踪产品的反馈误区是过度正面鼓励 习惯追踪应用常把"鼓励用户"当作核心功能。完成一天打卡就弹出祝贺动画&#xff0c;连续完成三天就颁发勋章&#xff0c;连续一周就给一段…

作者头像 李华
网站建设 2026/7/10 22:24:37

2026年免疫细胞存储行业现状与用户关注方向解析

2026年免疫细胞存储行业发展现状与核心挑战近年来&#xff0c;随着再生医学技术的持续发展&#xff0c;免疫细胞存储作为健康资源备份的重要方式&#xff0c;受到越来越多家庭的关注。从行业发展来看&#xff0c;该领域正逐步向规范化、标准化迈进&#xff0c;合规资质与技术能…

作者头像 李华
网站建设 2026/7/10 22:24:30

使用LocalDate和LocalDateTime接收日期时间

Java8推出了新的日期时间API&#xff0c;位于java.time包下。在使用SpringBoot搭建前后端分离的项目&#xff0c;提供Restful风格的Http接口时&#xff0c;肯定会遇到提供日期时间查询的需求。因为Spring目前暂不支持自动转换为LocalDate或LocalDataTime&#xff0c;所以需要进…

作者头像 李华