今天我们说说virtualenv,通过字面可以猜到到一半,virtual即:虚拟的。那env是什么鬼?environment吗?嗯确实可以这样理解,所以virtualenv翻译成中文就是”虚拟环境“。
到底什么是虚拟环境呢?顾名思义,它是一个虚拟出来的环境。通俗的来讲,可以借助虚拟机(docker来理解虚拟环境,就是把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,而且各个容器之间互相隔离,互不影响。)众所周知的Django框架,我们创建一个项目可能需要安装很多依赖的环境,如果将这些环境直接安装在本地可能会对我们其他的工程会有影响。那我们通过虚拟机搞一个Django的虚拟环境就可以将Django的运行环境与本地的python环境隔离开。
为什么需要 virtualenvwrapper?而不是virtualenv?这要从 virtualenv 说起。virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。这对我们管理虚拟环境及其不方便。我们通过使用virtualenvwrapper,可以将所有的虚拟环境目录全都集中起来,比如放到 ~/Python/Envs,并对不同的虚拟环境使用不同的目录来管理。使用virtualenvwrapper 同时省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。
这里主要和大家分享在Kali linux中安装使用虚拟环境的方法,以及使用过程中会遇见的坑~ 本文方法同时适用于Debian等系统。
一、安装
a.首先要安装virtualenv,在终端中通过命令pip3 install virtualenv即可完成安装;
b.其次安装virtualenvwrapper, 在终端中通过命令:pip3 Install virtualenvwrapper即可完成安装
二、配置环境变量
- virtualenvwrapper它需要指定一个环境变量,叫做WORKON_HOME,并且需要运行一下它的初始化工具
virtualenvwrapper.sh,这个脚本在 /usr/local/bin/ 目录下。WORKON_HOME
就是它将要用来存放各种虚拟环境目录的目录,这里我们可以设置为
~
/Python/
Envs(确保这个目录已创建)
。export WORKON_HOME='
' source /usr/local/bin/virtualenvwrapper.sh~/Python/Envs
- 由于每次都需要执行这两部操作,我们可以将其写入终端的配置文件中。例如,如果使用 bash,则添加到 ~/.bashrc 中;如果使用 zsh,则添加到 ~/.zshrc 中。这样每次启动终端的时候都会自动运行
export
WORKON_HOME
=
~
/Python/
Envs
source
/
usr
/
local
/
bin
/
virtualenvwrapper.sh
![vir-1](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030514vir-1.jpeg)
报错啦!!!这就是常常会遇见的坑,通过提示信息我们可以看出是python路径的问题。由于kali linux默认安装了python2.x 和python3.x,我们这里都是通过pip3安装的virtualenvwrapper。所以我们只需修改virtualenvwrapper.sh文件,在脚本中添加python3的环境即可。
![vir-2](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030545vir-2.jpeg)
![vir-3](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030555vir-3.jpeg)
![vir-4](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030608vir-4.jpeg)
这里我们可以看见刚才我们安装的第三方包已经可以看见了。
![vir-5](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030618vir-5.jpeg)
选择好python解释器后,我们创建一个python文件这时pycharm提供的Terminal便会自动帮助我们workon到我们的虚拟环境了。
![vir-6](https://images.cnblogs.com/cnblogs_com/4geek/1715134/o_200416030629vir-6.jpeg)
当然通过pycharm也可以创建虚拟环境,小伙伴可以自己动手试试~(就在解释器设置界面)