Python虚拟环境-virtualenv安装及使用

王 茂南 2020年11月27日07:26:01
评论
1 1754字阅读5分50秒
摘要这里介绍使用 virtualenv 来创建 Python 的虚拟环境。同时会介绍如何在Windows的power shell启动虚拟环境。

简介

在开发 Python 应用程序的时候,我们往往只在系统中安装的一个 Python 的一个版本。所有第三方的包都会被 pip 安装到 Python 的 site-packages目录下。

当我们要同时开发多个应用程序,但是这些程序需要的库的版本不同,例如如果应用 A 需要 jinja 2.7,而应用 B 需要 jinja 2.6 。这种情况下,我们就需要每一个应用有一套独立的 Python 运行环境。

于是,virtualenv 就是用来创建一套隔离的 Python 的运行环境的。

 

参考资料

 

Virtualenv 的使用介绍

virtualenv 的安装

我们使用 pip 来安装 virtualenv

  1. pip install virtualenv

 

为项目创建虚拟环境

接着我们为一个项目创建虚拟环境。首先进入某个项目的文件夹,执行 virtualenv env。这会在当前目录下新建一个 env 的文件夹。之后该项目安装的第三方库都会安装在这个文件夹内。

Python虚拟环境-virtualenv安装及使用

除此之外,我们还可以加上参数 --no-site-packages,这样已经安装到系统 Python 环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的 Python 运行环境。下面我们创建了一个叫「env」的环境:

  1. virtualenv --no-site-packages env

如果想要指定 Python 的版本,可以使用 -p 这个参数:

  1. virtualenv --no-site-packages -p /usr/bin/python3 env

 

启动虚拟环境

上面我们创建了叫「env」的环境,他会在当前路径下新建一个 env 的文件夹。我们使用 source 命令来进入该环境。执行下面的命令即可:

  1. source venv/bin/activate

进入之后会发现命令提示符有了变化,前面出现了 env 的前缀。这个表明当前环境是一个名为 env的 Python 环境。

 

启动虚拟环境-在CMD中 (windows 下)

在Windows中,如果我们在当前项目的目录下,可以通过, .\env\Scripts\activate 来启动虚拟环境。如下图所示,成功启动之后,可以看到前面会有 <env>

Python虚拟环境-virtualenv安装及使用

 

在power shell上启动虚拟环境 (windows 下)

默认情况我们是无法在 power shell 执行脚本的。我们可以通过下面的方式来解决这个问题:

  • 以管理员身份运行 power shell
  • 更改WINDOWS POWERSHELL 执行策略 : Set-ExecutionPolicy -ExecutionPolicy Unrestricted
  • 此时就可以运行 activate 脚本了;

 

关闭虚拟环境

我们使用 deactivate 来关闭虚拟环境。可以看到此时前面已经没有 <env> 了。

Python虚拟环境-virtualenv安装及使用

 

Anaconda 介绍

Anaconda 安装

我们进入官网,Anaconda Product,进行下载和安装。

在 Anaconda 上创建虚拟环境

可以直接使用 conda 工具来创建虚拟环境。如下所示,创建不同的 Python 版本的虚拟环境。

  1. # Python 2.7
  2. $ conda create -n venv python=2.7
  3. # Python 3.4
  4. $ conda create -n venv python=3.4
  5. # Python 3.5
  6. $ conda create -n venv python=3.5

创建完毕之后是激活环境,如下所示(其中 venv 为虚拟环境的名称):

  1. # on windows
  2. activate venv
  3. # on linux
  4. source activate venv

接着是退出虚拟环境:

  1. # on windows
  2. deactivate
  3. # on linux
  4. source deactivate

如果我们想要查看所有的虚拟环境,可以使用以下的命令:

  1. # 列出系统存在虚拟环境
  2. conda info -e
  3. conda env list

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2020年11月27日07:26:01
  • 转载请务必保留本文链接:https://mathpretty.com/12968.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: