Python虚拟环境
本文最后更新于 2024年7月24日 晚上
在使用 Python 的时候,你会经常听到环境和虚拟环境这两个词,他们究竟是什么呢,该如何使用?
虚拟环境的概念
环境
在了解虚拟环境的概念之前,我们有必要了解一下普通的 Python 环境是什么,一般来说,在安装 Python 的时候,会安装一系列文件,这便是普通的 Python 环境。
以上只列出了安装 Python 时的主要文件。
虚拟环境
那么虚拟环境就可以理解为将普通的环境拷贝一个副本,或者拷贝出多个副本。
那么,这样做的目的是什么呢?
- 避免 Python 版本的冲突问题
- 避免 lib 库中的版本冲突问题
然后可以看到,虚拟环境与环境的主要区别在于:
- 文件夹名称的改变,一般称作 venv
- Lib 中只放置需要安装的第三方库的文件夹,而没有原来的标准库文件夹,虚拟环境中引用的标准库就是原来的标准库
- Python 解释器放置在了 Scripts 文件夹中
总的来说,就是为你的 Python 项目创建一个隔离的环境,避免受到不同版本的冲突影响。
venv 的基本使用
一般来说,在 Python3 之后都是使用自带的库 venv 来创建虚拟环境,如果你是 Python2 的版本,那么就需要其他的第三方工具来实现。
首先打开终端,在你的 Python 项目中输入以下命令
1 |
|
上面的命令展示了我将要在哪个地方创建我需要的虚拟环境
创建虚拟环境
如果你是 windows 系统,那么可以输入以下命令(Mac 或者 Linux 用户只需要将 Python 换成 Python3 即可)
1 |
|
这将会在你的项目中创建一个名为 name
的文件夹,里面放置的就是你的虚拟环境。
1 |
|
激活虚拟环境
如果你是 windows 系统,输入以下命令来激活你的虚拟环境
1 |
|
如果你是 Mac 或者 Linux 系统,可以这样输入
1 |
|
一旦激活环境,你可以看到这样的前缀表示激活成功
1 |
|
停止使用虚拟环境
停用虚拟环境的命令在 windows 和 mac 或者 linux 上是相同的
1 |
|
停用之后你可以发现前缀消失了
1 |
|
安装 packages
和普通的环境一样,当你激活虚拟环境后,仍然可以使用虚拟环境中的 pip 来安装 packages。
1 |
|
这里看到的各种 package 是虚拟环境中的,而不是全局环境中的
迁移虚拟环境
当我们想要分享自己的项目到 GitHub 时,我们需要告诉其他人这个项目需要安装哪一些 packages。这个时候就需要一个依赖项列表来保存所用到的所有 packages。
创建依赖项列表
1 |
|
这个时候在你的项目根目录下将会产生一个新的名为 requirements.txt
的文件,里面包含了所有需要使用的 packages
下载依赖项列表
如果我们使用其他人的项目,需要配置好所有的 requirements.txt
中的 packages,就需要执行以下命令
1 |
|
IDE 中使用虚拟环境
在 IDE 中使用虚拟环境时,就不需要是先激活虚拟环境了,你所做的只需要找到你创建的虚拟环境文件夹中的 Scripts,它便可以自动匹配到这样的一个虚拟环境。
以 vscode 为例,你可以看到我只要选择的 Python 解释器是在虚拟环境中的,就会自动在项目里使用虚拟环境。
视频资料参考:
Python Virtual Environments - Full Tutorial for Beginners (youtube.com)