python虚拟环境必须安装吗_Python虚拟环境的创建和使用

一、概要

如果想要再同一台主机运行、开发不同的项目,且项目的依赖有所差异。如果只有一个环境,在每次开发新的项目或者切换不同的项目时,都必须更换为对应的版本,这是一个相当麻烦的事情。

Python应用程序通常会使用不在标准库内的软件包和模块。应用程序有时需要特定版本的库,因为应用程序可能需要修复特定的错误,或者可以使用库的过时版本的接口编写应用程序。

这意味着一个Python安装可能无法满足每个应用程序的要求。如果应用程序A需要特定模块的1.0版本但应用程序B需要2.0版本,则需求存在冲突,安装版本1.0或2.0将导致某一个应用程序无法运行。为了解决这些问题,就有了虚拟环境。

1.1 真实环境或物理环境

我们安装的python包即是一个真实环境

1.2 虚拟环境 virtualenv

virtualenv是一个创建隔绝的python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用python工程所需的包。

是一个用于创建和管理虚拟环境的模块。

二、安装虚拟环境

假设你已经安装了python

2.1 安装

创建一个用于管理虚拟环境的目录,并切换到该目录下

语法:

python -m venv virtualName

实例:

mkdir -p D:/Virtualenv/Python37

cd D:/Virtualenv/Python37

python -m venv Django3

然后得到如下文件目录结构:

python虚拟环境必须安装吗_Python虚拟环境的创建和使用_第1张图片

与物理环境不同的是,虚拟环境的python.exe在Scripts下。

三、激活

3.1 原理

实际上,激活就是将当前虚拟环境下的的python.exe解释器所在路径添加到最前面。相当于提高优先级。

如此看来,激活只需切换到改虚拟环境,在执行python即可。

3.2 Windows

执行 Scripts下的activate.bat。

cd D:/Virtualenv/Python37/Django/Scripts

./activate.bat

3.3 Mac/Linux

cd ...

source tutorial-env/bin/activate

四、pip包管理

4.1 pip list

显示当前环境安装的所有软件包。

pip list

4.2 pip show packgeName

显示某个软件包的信息

pip show django

4.3 pip freze

生成一个当前已安装的包列表,且改文件为pip install期望的格式。约定为requirements.txt文件。

pip freeze > requirements.txt

4.4 pip install -r requirements.txt

用于安装当前项目所有必须的包。

其中-r为read,检查文件内容是否符合pip install所期望的格式。

pip install -r requirements.txt

附录

更多详细信息请参照 官方文档。

你可能感兴趣的:(python虚拟环境必须安装吗)