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.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

附录

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

posted @ 2020-04-09 17:23  langkye  阅读(1311)  评论(0编辑  收藏  举报