python 项目搭建(类比 node 来学习)

说明,本文介绍的包管理工具类似于 node 的包管理工具,只是 uv 使用来管理 python 包的哇

npm 对应 uv 管理包的

npx 对应 nvx 不用下载某个包就可以执行某些功能

搭建环境

建议提前在环境变量中设置 python 的镜像源

js 复制代码
# On macOS and Linux.
$ echo 'export UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/' >> ~/.zshrc 

$ source ~/.zshrc

# Windows
通过系统属性 > 高级 > 环境变量 添加 UV_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/

下载安装包

下载 uv 来管理 python 包和项目,因为这个 uv 是使用 rust 来写的,于是理所当然的它 "快且安全",详情直接戳链接,也可以直接运行如下命令

shell 复制代码
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh

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

# pip install
pip install uv

# or pipx install
pipx install uv

检查是否安装成功

js 复制代码
# 检查 uv 是否安装成功
$ uv -V
uv 0.7.12 (dc3fd4647 2025-06-06)

# 检查 uvx 是否后可用
$ uvx pycowsay 'hello world!'

# 现实如下内容表示你已经安装成功了 🎉 🎉 🎉
  ------------
< hello world! >
  ------------
   \   ^__^
    \  (oo)_______
       (__)\       )/\
           ||----w |
           ||     ||

初始化一个项目

js 复制代码
uv init uv-py  

# 生成的项目结构如下,其他文件夹/文件你可以根据自己的需求来建立
- pyproject.toml 项目信息文件,比如项目的名称、版本号等(和 node 的 package.json 差不多哦)
- README.md 项目说明文件
- main.py  项目主程序入口
- .python-version 用于指定 Python 项目所使用的 Python 解释器版本

安装第三方包并运行项目程序

python 第三方包

js 复制代码
# 安装第三方包
uv add rich # rich 是一个 渲染富文本、表格语法高亮的终端

# 最终会在 pyproject.toml 中 dependencies 展示你下载的依赖
dependencies = [
    "rich>=14.0.0",
]

# main.py
from rich import print

def main():
    print("Hello, [bold magenta]World[/bold magenta]!")

if __name__ == "__main__":
    main()

# 运行项目 main.py
uv run main.py 
# 运行结果如下图所示

好的,简单项目搭建完毕,要搭建一个完整的 后端项目还可以参考 搭建一个 fastapi app

相关推荐
山峰哥37 分钟前
Python爬虫实战:从零构建高效数据采集系统
开发语言·数据库·爬虫·python·性能优化·架构
Jay_Franklin8 小时前
SRIM通过python计算dap
开发语言·python
是一个Bug8 小时前
Java基础50道经典面试题(四)
java·windows·python
吴佳浩8 小时前
Python入门指南(七) - YOLO检测API进阶实战
人工智能·后端·python
liliangcsdn9 小时前
python下载并转存http文件链接的示例
开发语言·python
大、男人10 小时前
python之Starlette
python·uvicorn
小智RE0-走在路上11 小时前
Python学习笔记(11) --数据可视化
笔记·python·学习
历程里程碑11 小时前
hot 206
java·开发语言·数据结构·c++·python·算法·排序算法
Coder_Boy_12 小时前
Java+Proteus仿真Arduino控制LED问题排查全记录(含交互过程)
java·人工智能·python
qq_3561969512 小时前
day47_预训练模型与迁移学习@浙大疏锦行
python