使用 pyenv local 3.8.5
和创建一个新的 pyenv
虚拟环境(如 pyenv virtualenv 3.8.5 myenv
)之间有一些关键区别:
-
环境作用域:
pyenv local
:当你在一个目录中运行pyenv local 3.8.5
命令时,它会在当前目录中创建一个.python-version
文件,该文件指定了该目录及其子目录中使用的 Python 版本。这意味着每当你在该目录中运行 Python 时,都会自动使用指定的 Python 版本(在这个例子中是 3.8.5)。- 创建虚拟环境:当你创建一个新的虚拟环境时,你实际上是在指定的 Python 版本上创建了一个隔离的环境。这个环境有自己的独立的 Python 解释器和库安装路径。这允许你在不影响系统级别或其他项目的 Python 安装的情况下,为特定项目安装和管理依赖。
-
依赖管理:
pyenv local
:仅仅设置 Python 版本,不提供隔离的环境。所有的包和依赖都将安装在全局 Python 环境中,或者是用户级别的 Python 环境中。- 创建虚拟环境:在虚拟环境中,你可以安装、升级和移除包,而不会影响到其他虚拟环境或者系统级别的 Python 安装。这对于管理具有不同依赖要求的多个项目非常有用。
-
使用场景:
pyenv local
:适合当你只想在特定目录下使用特定版本的 Python,而不需要隔离环境时。- 创建虚拟环境:适合需要完整隔离环境的场景,如不同项目需要不同的依赖版本时。
总的来说,pyenv local
更适合简单的版本管理,而创建新的虚拟环境则适用于需要完全隔离的、具有特定依赖需求的项目。