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

相关推荐
databook35 分钟前
Manim实现波浪形文字特效
后端·python·动效
ggaofeng38 分钟前
用 Python 实现一个简化但可运行的 单点登录(SSO)系统
开发语言·python
Python极客之家1 小时前
基于数据挖掘的在线游戏行为分析预测系统
人工智能·python·机器学习·数据挖掘·毕业设计·课程设计
技术猴小猴1 小时前
如何使用Python实现UDP广播
开发语言·python·udp
峥嵘life2 小时前
Android16 adb投屏工具Scrcpy介绍
android·开发语言·python·学习·web安全·adb
AI视觉网奇2 小时前
vscode 不能跳转 ERR_OSSL_EVP_BAD_DECRYPT
python
文心快码BaiduComate2 小时前
Comate分饰多角:全栈开发一个Python学习网站
前端·后端·python
雨声不在2 小时前
cronet从编译到修改之: 支持IP直连
python·网络协议·tcp/ip·cronet
2401_841495643 小时前
【机器学习】朴素贝叶斯法
人工智能·python·数学·算法·机器学习·概率论·朴素贝叶斯法
听潮阁3 小时前
Python 旅游数据分析平台【源码请评论区留言】
python·数据分析·旅游