安装了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 提升了依赖安装和管理的速度。

相关推荐
此刻觐神3 小时前
IMX6ULL开发板学习-03(Linux文件相关命令)
前端·chrome
qq_白羊座3 小时前
‌Miniconda 和 Conda 的关系
conda
SMF19195 小时前
【uv】Python包管理器uv安装和应用
开发语言·python·uv
l1t6 小时前
利用uv自带的cpython软件包在离线机器中安装pandas软件
pandas·uv
skywalk81637 小时前
使用DuMate帮助创建 Python 3.9 环境并部署 Kotti CMS
前端·chrome
卷卷说风控7 小时前
工作流的 Skill 怎么写?
java·javascript·人工智能·chrome·安全
John_ToDebug1 天前
惰性绑定 vs 立即注入:Chromium 扩展 API 初始化策略深度对比
c++·chrome·v8
代码的乐趣1 天前
支持selenium的chrome driver更新到147.0.7727.56
chrome·python·selenium
rannn_1111 天前
【Redis|实战篇7】黑马点评|附近商铺、用户签到、UV签到
java·数据库·redis·后端·uv
海的透彻2 天前
nginx启动进程对文件的权限掌控
运维·chrome·nginx