二、使用 uv 创建项目和虚拟环境
本教程的其余部分假设你使用的是 Linux 操作系统, 或者, 本教程的其余部分也假设你使用的是 Mac 操作系统。二、通过调用 uv 这个工具, 进而完成项目的建立以及虚拟环境的构建工作。等那个叫做 uv 的东西装好以后, 你接下来的步骤需要自己去创建一个属于你自己的项目空间, 随后再在这个过程当中, 把那些必不可少的各种依赖性的内容也给一并安装到位:mkdir my_uv_project随后, 借助于 cd 这个命令进入到那个特定的目录之中去。为了帮你自己的项目搞出一个虚拟环境这件事, 其实是非常简单的。你只需要按照下面的顺序去执行那些命令就好了。uv venv my_env你应该能够瞅见一些像以下所描述的那种输出结果。Using CPython 3.13.3Creating virtual environment at: my_envActivate with: source my_env/bin/activate可以查看该目录结构及其文件三、把你的环境给激活。在你已经成功创建出那个虚拟环境之后呢, 你接下来就得去执行下面提到的这个命令来把那个环境激活一下。source my_env/bin/activate你要去验证一下你创建的这个环境里面是不是真的没有包含任何东西, 具体的办法就是运行下面说的这个命令来检查。uv pip list使用了版本3.13.3, 位置在:你的输出结果中是不会列出任何具体内容的, 而你在当前这个运行环境内部里所安装的任何程序包以及其所依赖的其他组件, 都会与系统其余部分的运作完全隔离开来。需要注意的一点是, 假如你目前所使用的并不是bash程序, 而是cmd这样的其他shell环境时, 那么你将会获得完全不同的激活脚本文件, 比如说后面带有.bpat扩展名的那些脚本类型。四、在你的这个环境之中, 把那个包给安装上。在你成功激活了你所处的环境以后, 你就具备开始安装一些软件包的基本条件了。紧接着你需要执行的动作是, 利用后面所展示出来的那几条具体的命令, 来完成对这些软件包的安装工作:uv pip install pandas你现在能够瞧见, 会出现类似于下面所说的这种输出结果的情况。正如你能够看到的那样, 在2.2.3部分的内容已经被成功地安装完毕。而在进行安装这个动作的过程中, 会同时搭载其他的支持性软件包。为了确认那个包已经是处于已经成功安装完成的状态, 请执行下面这个所说的命令来进行一个检查验证。uv pip list你将看到类似以下的输出五、用户创建了第二个虚拟环境。为了测试环境之间的隔离性效果, 你需要创建一个全新的第二环境, 并且在该环境中安装版本不一致的软件以及另一个额外的功能模块。接下来的操作流程是参照之前讲过的那套步骤来开展, 最终目标是搭建出一个名叫 的虚拟运行空间。uv venv my_second_env正在使用3.13.3版本。at:with: /bin/你需要将环境进行激活。/bin/随后, 执行以下的操作指令来将Flask这个工具给安装上, 同时也把那个2.1.0这个版本也给装上。uv pip install pandas2.1.0 flask在安装好以后呢你会看到出现这样的输出内容, 就是类似于下面所展示的这个样子:就像你现在看见的这样, 那并不包含你自己在虚拟环境当中去安装的那些东西, 也就是说它不包含那个 2.2.2 这个版本。六、创建一个版本各不相同的虚拟环境。在之前创建环境的过程中, 我们使用的是 3.13.3。接下来, 我们来创建一个不同版本的虚拟环境, 这个新的环境将使用 3.11。请执行以下命令来操作。uv venv 3rd_env --python 3.11你将看到类似以下的输出Using Python 3.11.5 interpreter at: /Library/Developer/CommandLineTools/usr/bin/python3.11Creating virtualenv at: 3rd_envActivate with: source 3rd_env/bin/activate你可以在这个环境里面, 再次进行安装操作。source 3rd_env/bin/activateuv pip install pandas七、将虚拟环境进行切换, 并且把虚拟环境给删除掉。你打算在不同的虚拟环境之中进行切换的时候, 可以先执行如下的这一条命令, 以此把当前的这个环境给停用到。deactivate接着你需要运行以下这行命令, 好把另一个环境给激活起来:source my_second_env/bin/activate如果你在项目目录中运行 ls 命令你将看到所有已创建的环境3rd_env my_env my_second_env就好像你所看到的那样, 这些环境在你的项目下面的位置处如同普通的目录一般被创建出来了。如果你打算把其中某一个环境给删掉的话, 你直接去把属于那个环境的文件夹进行删除操作就行了:rm -rf my_second_env这会把你创建出来的那个第二环境给弄没。八、总结在本篇文章里, 你能够看到具体的操作方法, 那就是如何来使用虚拟环境这个手段, 去把开发环境给隔离开来, 这样的话就能避免出现一些关于包相关的问题和潜在的冲突情形, 而在整个过程当中所使用到的工具则是 uv。虽然在这样一种应用情形之下uv的发挥状况是很好的, 可是它依旧存在着一些不足之处, 因为它仅仅能够针对特定的环境开展工作, 所以它是没办法用来安装那些处于系统层级的依赖组件的, 同时它也完全不具备将内容打包进容器内的相关能力。