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

王 茂南 2020年11月27日07:26:01
评论
1 2095字阅读6分59秒
摘要这里介绍使用 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

或是我们可以使用 apt 来进行安装(注意,这两种方法选一个即可,否则会出现报错。如果两个都安装了,需要删除一个):

  1. sudo apt install python3-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

如果出现 virtualenv: command not found 的报错,可以尝试下面的命令:

  1. python -m virtualenv -p /usr/bin/python3 env

 

启动虚拟环境

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

  1. source venv/bin/activate

进入之后会发现命令提示符有了变化,前面出现了 env 的前缀。这个表明当前环境是一个名为 env的 Python 环境。为了进一步检查虚拟环境是否正确,我们使用 which 来检查一下当前 python 和 pip 的路径,当这两个路径都指向虚拟环境即是正确的:

  1. which python
  2. which pip

 

启动虚拟环境-在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

接着是退出虚拟环境(在 Linux 上,也可以使用 conda deactivate 来退出环境):

  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: