请教一个用 Python uv 替换 conda 管理项目的问题

52 天前
 princelai

我之前都是比较小的项目,使用 miniconda/manba/micromanba 作为环境管理工具,安装完 manba env export 导出一个 yaml 文件,在别的机器上 mamba create -f xxx.yaml 就能重新创建环境跑项目了。

由于我没用过除了 pip 以外的其他包管理器,所以使用 uv 不知道怎么用差不多的方式替换使用 我在已有的项目中 uv init 初始化,会有 pyproject.toml 文件和 uv.lock 这两个主要文件和.venv 文件夹,然后 uv add xxxx 安装包,这几个文件会同步更新,现在安装好所有依赖,上传到 git,由于.venv 文件夹比较大,我不想上传到 git,所以项目里只会有 pyproject.toml 文件和 uv.lock ,我要如何在服务器端还原回来我这个项目依赖啊,我找了官网没找到相关命令。

1251 次点击
所在节点    Python
6 条回复
DigitalG
52 天前
可以导出 requirements.txt , `uv pip compile pyproject.toml -o requirements.txt`

另外。pyproject.toml 是支持 pip 直接安装的, `pip install -e .` 可以安装本地包
DigitalG
52 天前
princelai
52 天前
@DigitalG #2 感谢,原来导出方法是这个命令,我以为 uv pip 是旧接口就没看
lthon
50 天前
uv sync 就可以了吧
vincentqiao
49 天前
不想使用 pip 接口的话,使用`uv export > requirements.txt` 也可以
princelai
47 天前
感谢楼上几位,我周末又细看了下文档,现在我都用 uv export --no-hashes --no-dev,因为我的环境我把 ipython 和 ipykernel 都安装在 dev 组,导出的时候 export 可以忽略 dev 组,还挺好用的。另外 sync 也行,也有--no-dev 选项,不过是给运维用 requirements 文件,所以就不麻烦他改流程了,我自己用多平台同步确实可以 sync

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1085211

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX