安装了conda和uv如何创建一个项目?

结合 Conda 和 uv 工具创建项目的流程如下(兼顾环境隔离和依赖管理效率):

步骤 1:用 Conda 创建并激活虚拟环境

先通过 Conda 创建一个独立的虚拟环境(指定 Python 版本),确保项目依赖隔离:

bash 复制代码
# 方式1:创建在默认目录(Conda安装目录/envs/)
conda create --name my_project python=3.11 -y  # 替换my_project为项目名,指定Python版本

# 方式2:创建在自定义路径(推荐,方便管理项目文件)
conda create -p ./my_project_env python=3.11 -y  # 路径可改为项目所在目录,如./env

激活环境:

bash 复制代码
# 激活命名环境
conda activate my_project

# 激活路径环境(若用方式2)
conda activate ./my_project_env

步骤 2:在 Conda 环境中安装 uv

确保 uv 安装在当前激活的 Conda 环境中(而非全局):

bash 复制代码
# 用pip安装(uv 本身可通过pip安装)
pip install uv

验证 uv 是否在当前环境:

bash 复制代码
# Windows
where uv

# Linux/macOS
which uv

输出路径应指向当前激活的 Conda 环境目录(如 ./my_project_env/Scripts/uv.exeenvs/my_project/bin/uv)。

步骤 3:初始化项目并管理依赖(用 uv)

uv 是高效的 Python 依赖管理工具,可替代 pip/venv,快速处理依赖:

  1. 创建项目目录并进入(若还未创建):

    bash 复制代码
    mkdir my_project && cd my_project
  2. 初始化 uv 项目 (生成 pyproject.toml,用于管理依赖):

    bash 复制代码
    uv init

    会生成基础配置文件,包含项目名称、版本等信息(可手动编辑)。

  3. 安装依赖(示例):

    bash 复制代码
    # 安装指定包(如requests、pandas)
    uv add requests pandas
    
    # 安装开发依赖(如pytest,仅开发时需要)
    uv add --dev pytest

    依赖会被安装到当前激活的 Conda 环境中,同时更新 pyproject.tomluv.lock(锁定依赖版本)。

步骤 4:运行/开发项目

  • 直接在激活的环境中运行代码:

    bash 复制代码
    uv run python main.py  # 假设项目入口为main.py
  • 若需导出依赖(供他人复现环境):

    bash 复制代码
    # 导出依赖列表(基于pyproject.toml)
    uv export > requirements.txt
  • 他人复现环境时,激活相同的 Conda 环境后执行:

    bash 复制代码
    uv install -r requirements.txt

总结流程

  1. Conda 创建并激活虚拟环境(负责 Python 解释器和环境隔离)。
  2. 在环境中安装 uv(负责高效管理项目依赖)。
  3. 用 uv 初始化项目、安装依赖,开始开发。

这种组合既利用了 Conda 强大的环境隔离能力,又借助 uv 提升了依赖安装和管理的速度。

相关推荐
U盘失踪了2 小时前
python curl转python脚本
开发语言·chrome·python
晓晨的博客7 小时前
ROS1录制的bag包转换为ROS2格式
前端·chrome
开开心心就好7 小时前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
Echo_NGC22378 小时前
【论文解读】Attention Is All You Need —— AI 时代的“开山之作“,经典中的经典(transformer小白导读)
人工智能·python·深度学习·神经网络·机器学习·conda·transformer
何中应9 小时前
Conda安装&使用
python·conda·python3.11
love530love10 小时前
如何在 Google Chrome 中强制开启 Gemini AI 侧边栏(完整图文教程)
前端·人工智能·chrome·windows
一乐小哥1 天前
坚持迭代一个 Chrome 插件半年后,我的同事问我:"这不是 Chrome 自带的功能吗?"
chrome·github·ai编程
架构源启1 天前
OpenClaw 只能手动写脚本?我用 Chrome 插件实现了“录制即生成“
前端·人工智能·chrome·自动化
一直会游泳的小猫1 天前
uv - 极速 Python 包管理器
python·工具·uv·包管理
爱吃巧克力的程序媛1 天前
计算机图形学---在OpenGL中,什么是归一化 UV 坐标?
人工智能·计算机视觉·uv