8-LeWD3rr3UzgTEpt.png

虚拟环境

在Python中,虚拟环境是一种用于隔离项目依赖和包的工具,以便在不同项目之间管理不同版本的库和包。虚拟环境允许你在同一系统上同时运行多个Python项目,每个项目都可以有自己独立的依赖,而不会互相干扰。

创建虚拟环境的基本步骤

以下是在Python中创建虚拟环境的基本步骤:

1. 安装virtualenv(可选):

在某些Python发行版中,virtualenv已经包含在内,你可以直接使用。如果你使用的是较旧的Python版本或者没有安装virtualenv,你可以通过以下方式安装它:

pip install virtualenv

2. 创建虚拟环境:

选择一个用于存放虚拟环境的目录,并使用virtualenv命令创建虚拟环境。例如,假设你想在项目目录中创建一个名为myenv的虚拟环境,你可以运行以下命令:

virtualenv myenv

这将在当前目录下创建一个myenv文件夹,并在其中创建一个独立的Python解释器和标准库。

3. 激活虚拟环境:

在不同的操作系统上,激活虚拟环境的方式有所不同:

  • 在 Windows 上,使用以下命令激活虚拟环境:

    myenv\Scripts\activate

  • 在 macOS 和 Linux 上,使用以下命令激活虚拟环境:

    source myenv/bin/activate

一旦虚拟环境被激活,你的命令行提示符将会显示虚拟环境的名称,表示你正在使用虚拟环境。

3. 安装依赖:

在虚拟环境中,你可以使用pip来安装项目所需的依赖包,这些依赖包将仅在当前虚拟环境中可用,不会影响系统Python或其他虚拟环境。
例如

pip install pygame

4. 退出虚拟环境:

当你完成项目工作或者需要切换到另一个虚拟环境时,可以使用以下命令退出当前虚拟环境:

deactivate

这样,你就可以创建和管理多个独立的Python虚拟环境,每个虚拟环境都可以具有不同的依赖项,使项目之间保持隔离。这对于开发和维护Python项目非常有用。

virtualenv myenv 和 python -m venv myenv两种方式的区别

virtualenvpython -m venv 是两种用于创建 Python 虚拟环境的不同工具,它们有一些区别,包括支持的 Python 版本和一些功能。

1. virtualenv:

virtualenv 是一个独立的第三方工具,需要单独安装(使用 pip install virtualenv)。
它兼容多个 Python 版本,并且可以用于创建 Python 2.x 和 Python 3.x 的虚拟环境。
virtualenv 生成的虚拟环境通常较小,因为它不包含 Python 标准库。
可以使用 --system-site-packages 标志来让虚拟环境访问系统全局安装的包。
示例创建虚拟环境的命令:

virtualenv myenv

2. python -m venv:

python -m venv 是 Python 内置的虚拟环境创建工具,不需要额外安装。
它是 Python 3.3 及更高版本的一部分,因此只能用于创建 Python 3.x 的虚拟环境。
python -m venv 生成的虚拟环境包含了 Python 标准库。
默认情况下,虚拟环境是隔离的,不会访问系统全局安装的包,这有助于确保项目的依赖独立。
示例创建虚拟环境的命令:

python -m venv myenv

总的来说,如果你在使用 Python 3.x,推荐使用 python -m venv 来创建虚拟环境,因为它是 Python 内置的工具,并且通常更容易使用。如果你需要在多个 Python 版本之间切换,或者需要使用 Python 2.x,那么 virtualenv 可能是一个更好的选择。

小结

最新的python3 是主流,已经到python 3.12了,所以还是推荐使用python -m venv方式创建虚拟环境变量,用起来比较顺手。介绍的知识作为参考,上网查询的时候可能会碰到这些不同的做法,有个心理准备!

除了 virtualenv 和 python -m venv,还有其他一些方式可以创建虚拟环境,具体取决于你的需求和环境。以下是一些其他常见的虚拟环境管理工具, conda, pyenv,Pipenv
这些工具都具有不同的优点和特点,可以根据你的需求和偏好选择其中之一来管理虚拟环境。每种工具都有其独特的用例,因此可以根据项目的具体需求来选择最合适的方式。
细节就不展开了,等有了足够的经验,再自行探索,目前我们就用python -m venv myvenv创建虚拟环境
>python -m venv myvenv
>source myvenv/bin/activate
>deactivate

标签: 虚拟环境