Python3.6的venv模块使用详解
什么是venv模块
在Python3.3中,引入了一个新的标准库venv,这个标准库封装了创建Python虚拟环境的功能。venv的全称是“Virtual Environments”,即虚拟环境。它是Python解释器的本地副本,用于解决应用程序不同版本之间的包依赖性问题。
在这个虚拟环境中,可以安装自己需要的第三方模块和相应的版本,使得不同的Python应用程序在同一台机器上共存变得更加容易。
venv是Python官方推荐的虚拟环境创建方式,相比于其他的虚拟环境创建方式,例如virtualenv,venv更加方便,更加轻量级。
如何使用venv模块
下面我们来看看如何使用venv模块创建虚拟环境。
- 首先打开命令行终端或者Python解释器,输入以下命令:
bash
python -m venv <虚拟环境路径>
其中,<虚拟环境路径>
指的是虚拟环境将要被创建的路径。例如,如果需要在当前目录下创建一个名为my_project
的虚拟环境,则可以输入以下命令:
bash
python -m venv my_project
-
等待venv模块完成虚拟环境创建。这里需要注意的是,venv模块创建的虚拟环境中仅包含Python解释器和一些基本的标准库,如果需要安装其他第三方模块,则需要在虚拟环境中手动安装。
-
激活虚拟环境。在Linux和macOS中可以使用以下命令:
bash
source <虚拟环境路径>/bin/activate
在Windows系统下则可以使用以下命令:
bash
<虚拟环境路径>\Scripts\activate.bat
- 在虚拟环境中安装第三方模块。安装第三方模块的过程与在普通Python环境中安装第三方模块的方式一样,例如:
bash
pip install requests
这里安装了名为requests的第三方模块。
- 使用已安装的第三方模块。在虚拟环境中,已经安装的第三方模块可以直接使用,例如导入requests模块:
python
import requests
在虚拟环境中使用了第三方模块,然后再退出虚拟环境,这样做不会影响系统的Python环境。
- 退出虚拟环境。在退出虚拟环境前,可以先卸载已经安装的第三方模块,例如:
bash
pip uninstall requests
然后执行以下命令退出虚拟环境:
bash
deactivate
示例说明
示例一
下面我们来看一个示例,展示如何使用venv模块创建一个虚拟环境,并在虚拟环境中安装第三方模块。
- 打开命令行终端或者Python解释器,输入以下命令:
bash
python -m venv my_project
-
等待venv模块完成虚拟环境的创建。
-
激活虚拟环境。在Linux和macOS中可以使用以下命令:
bash
source my_project/bin/activate
在Windows系统下则可以使用以下命令:
bash
my_project\Scripts\activate.bat
- 在虚拟环境中安装第三方模块。例如,安装名为numpy的第三方模块:
bash
pip install numpy
- 在虚拟环境中使用已经安装的第三方模块,例如:
python
import numpy
print(numpy.__version__)
这里输出了安装的numpy模块的版本号。
- 退出虚拟环境。在退出虚拟环境前,先卸载已经安装的第三方模块,例如:
bash
pip uninstall numpy
然后执行以下命令退出虚拟环境:
bash
deactivate
示例二
下面我们看另一个示例,展示如何在Python项目中使用venv模块。
- 首先创建一个Python项目:
bash
mkdir my_project
cd my_project
- 然后使用venv模块创建一个虚拟环境:
bash
python -m venv venv
- 进入虚拟环境:
bash
source venv/bin/activate
- 安装必要的第三方模块用于项目开发:
bash
pip install flask pytest
这里安装了名为flask和pytest的第三方模块。
- 在项目中编写Python代码并使用已经安装的第三方模块,例如:
```python
from flask import Flask
app = Flask(name)
@app.route("/")
def hello():
return "Hello, World!"
if name == "main":
app.run()
```
- 编写测试代码并使用已经安装的第三方模块,例如:
python
def test_index(app, client):
resp = client.get("/")
assert resp.status_code == 200
assert b"Hello, World!" in resp.data
这里使用了pytest进行测试,在测试代码中使用了已经安装的flask模块和pytest-flask插件。
- 退出虚拟环境:
bash
deactivate
结束语
上面就是Python3.6的venv模块的使用详解,通过使用venv模块,我们可以在同一台计算机上创建多个Python虚拟环境,使得不同版本的Python应用程序在同一台机器上共存变得更加容易。在开发Python项目时,使用venv模块来隔离各个项目的依赖关系是非常值得推荐的。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3.6的venv模块使用详解 - Python技术站