本文主要是介绍学习使用venv创建“python虚拟环境”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
使用python开发会经常面临的问题是:你会需要不同版本的python,而且就算同一个版本的python,不同的项目有很大可能会需要不同版本的包。而 “Python虚拟环境” 就是为了解决这个问题的。
目标
结合官方文档,自己动手实践来学习使用 venv 创建python虚拟环境。
参考文档:
venv — Creation of virtual environments — Python 3.12.4 documentation
Install packages in a virtual environment using pip and venv - Python Packaging User Guide
venv官方文档介绍
venv官方文档 中对此的介绍是:
venv 支持创建轻量级的“虚拟环境”,每个虚拟环境将拥有独立的包,安装在其 site 目录。 虚拟环境是在当前存在的 Python 版本上创建的,这被称为虚拟环境的 “基础Python”。你还可以选择与基础环境中的包隔离开来(这样只有在虚拟环境中显式安装的包才是可用的)。
当在虚拟环境中时,常见安装工具如 pip 将把包安装到虚拟环境里(这并不需要显式地指明)。
除此之外,虚拟环境是:
- 用来包含支持一个项目(库或应用程序)所需的特定 Python 解释器、库和二进制文件。 在默认情况下,它们将隔离于 “其他虚拟环境” 和 “操作系统” 中安装的 Python 解释器和库。
- 包含在一个目录中,惯例上放在项目目录下的
venv
或.venv
文件夹,或是有许多虚拟环境的容器目录下,如~/.virtualenvs
。 - 不应该被纳入 Git 等源代码管理系统。
- 被视为是“可丢弃的” —— 应当能够简单地删除并从头开始重建。所以你不应在虚拟环境中放置任何项目代码。
- 不被视为是可移动或可复制的 —— 你只能在目标位置重建相同的环境。
实践
0. 下载对应版本的python并安装
我这里需要3.6版本的python。平台是Windows。
打开python官方下载页面 https://www.python.org/downloads/windows/ 搜寻3.6版本的python。
3.6版本下还有多个微版本比如 3.6.15、3.6.13(关于版本号:根据官方文档所说,python版本号格式为 major.minor.micro)。
对我来说最方便的是“Windows平台安装包”。但是,并不是每个微版本都有这个安装包。我按时间搜索所有的3.6版本,发现3.6.8有我需要的安装包:
于是便选择此版本进行安装。
另外,我并没有选择将python加入PATH环境变量,毕竟我们现在考虑的是多版本的情况。
安装完成后,我的python.exe安装到了 C:\Users\yaksue\AppData\Local\Programs\Python\Python36\python.exe。
1. 创建虚拟环境
创建一个路径 G:\MyTest\test0622。这个test0622 空文件夹就作为我的项目。
而现在我将在我的项目中创建一个虚拟环境。使用命令是[python.exe路径] -m venv [项目路径]
。我这里即是:
C:\Users\yaksue\AppData\Local\Programs\Python\Python36\python.exe -m venv G:\MyTest\test0622
(注意,按照官方文档的描述,惯例其实更应该放在项目文件夹下test0622\.venv
,而非项目文件夹本身test0622
。我这里做完测试才注意到,就不调整了)
在cmd中运行后,即创建了虚拟环境:
其中pyvenv.cfg
文件中的home
指向运行此命令的 Python 安装
home = C:\Users\yaksue\AppData\Local\Programs\Python\Python36
include-system-site-packages = false
version = 3.6.8
2. 激活虚拟环境
\Scripts
路径下有个activate
文件,运行它可以激活。比如我这里用于激活的命令就是:
G:\MyTest\test0622\Scripts\activate
可以看到,在进入虚拟环境之前,我是找不到python的:(因为我在PATH环境变量中没有python.exe的路径)
但当我输入激活的命令后:
在虚拟环境中就可以找到python:
3. 在虚拟环境中安装包
首先,激活虚拟环境(但是不运行python命令,否则会进入Python交互式环境)。
然后像之前一样运行 pip install
即可,比如我这里想安装1.18.5版本的numpy,则运行:
pip install numpy==1.18.5
(我这里有个疑问,开始我没有指定版本,结果就如上图所示没找到,是否在虚拟环境中安装包必须指定版本吗?还是说是其他问题?)
安装完成后,可以看到 numpy 被安装到了虚拟环境的目录下:
4. 后续
后续只要在激活此虚拟环境的状态下,就可像往常一样,安装包和运行python脚本。
想要关闭此虚拟环境,可以运行deactivate
命令。
(关闭cmd的窗口也会关闭此虚拟环境。如果再开一个新的cmd窗口,就要再激活一遍)
这篇关于学习使用venv创建“python虚拟环境”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!