尝试使用新的python包管理器uv

最近在网上冲浪时(🚽玩📱),发现很多人说抛弃垃圾conda,不要再用龟速pip,改用uv。总得来说,uv的优势的速度极快,劣势是成熟度和生态还不如pip和conda。

下面的测试均在windows中进行。

安装

最简单的安装方式是使用pip安装(🤣)。当然,还有其他的安装方法,但是咱们怎么简单怎么来。

pip install uv

包管理

uv 支持大部分的pip命令,只要在原本的pip命令前加上uv就可以了。

比方说,安装一个包

uv pip install <package>

也能通过requirements.txt安装

uv pip install -r requirements.txt

卸载包

uv pip uninstall <package>

查看包

uv pip list

更新包

uv pip install --upgrade <package>

虚拟环境

创建虚拟环境,目前发现一个问题,就是在自定义环境名称后,进入到环境中,uv安装包时会失败,但是使用默认的.venv名称,就不会失败。在Issues搜了一下custom venv name,貌似有一大堆与自定义环境名称相关的问题,因此目前建议使用默认名称。

uv venv <venv_name>

# 默认
uv venv

指定python版本,uv不支持类似pyenv那样的在创建环境时下载需求的python版本,只能指定python的路径

uv venv <venv_name> --python <python_path>

但是,可以与pyenv一起使用,达到目的

pyenv install 3.10.9
pyenv local 3.10.9
uv venv myenv --python $(pyenv which python)

激活虚拟环境

.\<venv_name>\Scripts\activate

删除虚拟环境,就直接删除对应的文件夹就好

rmdir /s /q <venv_name>

切换虚拟环境,当运行以下命令时,UV 会根据当前目录或项目自动激活对应的虚拟环境

uv run