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

相关推荐
X56613 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
ZhengEnCi3 小时前
03ab-PyTorch安装教程 📚
python
狐狐生风4 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
狐狐生风4 小时前
LangChain RAG 基础
人工智能·python·学习·langchain·rag·agentai
老前端的功夫5 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
yaoxin5211235 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
dFObBIMmai5 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw05 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python
小白学大数据5 小时前
Python 自动化爬取网易云音乐歌手歌词实战教程
爬虫·python·okhttp·自动化
风之所往_7 小时前
Python 3.0 新特性全面总结
python