Python 入门
大约 2 分钟
python管理器-pyvenv
https://github.com/pyenv/pyenv
curl https://pyenv.run | bash
配置环境变量: vim ~/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
安装python
pyenv install 3.12
创建
python -m venv .venv python=3.14
激活
window: project_name\Scripts\activate
linux: source ./project_name/Scripts/activate
删除
anaconda
anaconda:https://www.anaconda.com/download
uv
https://hellowac.github.io/uv-zh-cn/getting-started/installation/
pip install uv
安装python版本
uv python install 3.14
切换版本
uv python list --only-installed
uv python pin 3.14
初始化项目
uv init env_name --python=3.14
安装软件
uv add|remove flask
运行项目
uv run main.py
激活环境
uv venv
退出
deactivate
已有项目安装依赖,类似 npm i
uv sync
linux
sudo yum install conda
window
需要配置一下环境变量
D:\ProgramData\anaconda3 # python 目录
D:\ProgramData\anaconda3\Scripts # conda目录
列出虚拟环境
conda list
创建虚拟环境
conda create --name py12 python=3.12
激活虚拟环境
conda activate py12
退出
conda deactivate
删除虚拟环境
conda remove --name py12 --all
导出虚拟环境
conda env export > environment.yml
加载虚拟环境
conda env create -f environment.yml
常用库推荐
fastapi
uv add "fastapi[standard]"
beautifulsoup4
uv add beautifulsoup4
from bs4 import BeautifulSoup
import requests
html = requests.get("https://sxx.com/400059.jhtml")
doc = BeautifulSoup(html)
title = doc.title.string
content = doc.find('div', class_='article').text
carbon
uv add carbon
steam 响应
@app.route('/chat/event')
def route_chat_event():
msg = request.args.get("msg")
resp = chat(model="deepseek-r1:7b", messages=[{"role": "user", "content": msg}], stream=True)
def generate():
for chunk in resp:
yield f"data: {chunk.message.content}\n\n"
return Response(generate(), mimetype='text/event-stream')
Docker打包
FROM python:3.14.2-slim
WORKDIR /app
# 复制依赖清单
COPY requirements.txt ./
# pip 安装依赖(--no-cache-dir 减少镜像体积)
RUN pip install --no-cache-dir -r requirements.txt
# 复制项目代码
COPY . .
# 暴露端口
EXPOSE 80
# 启动命令
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
uv项目打包
FROM python:3.14-slim
# 安装 uv
COPY /uv /uvx /bin/
# 将工作目录切换到 `app` 目录
WORKDIR /app
# 将项目复制到中间镜像中
COPY . /app
# 安装项目依赖
RUN uv sync --frozen --no-cache
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
docker-compose
services:
app:
image: "xx.com/orangbus/project:latest"
container_name: video-live
restart: always
network_mode: bridge
ports:
- "8000:8000"
