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

相关推荐
星河天欲瞩6 小时前
【深度学习Day1】环境配置(CUDA、PyTorch)
人工智能·pytorch·python·深度学习·学习·机器学习·conda
102400246 小时前
vscode无法选择conda虚拟环境下的解释器
ide·vscode·conda
zckui7 小时前
conda常用命令
python·conda
彼岸花苏陌7 小时前
conda出现的问题
conda
南_山无梅落7 小时前
《uv 终极教程:安装、镜像配置与 pip 无缝迁移》
pip·uv
尘觉9 小时前
创作 1024 天|把热爱写成长期主义
数据库·1024程序员节
张小凡vip9 小时前
数据挖掘(六)--conda安装与使用指南:Miniconda篇
人工智能·数据挖掘·conda
tiandyoin1 天前
给 MHTML 添加滚动条.mhtml
前端·chrome·html·mhtml
JANG10241 天前
【Linux】进程通信
linux·运维·chrome
winfredzhang1 天前
构建自动化 Node.js 项目管理工具:从文件夹监控到一键联动运行
chrome·python·sqlite·node.js·端口·运行js