【Virtualenv】Python的虚拟环境Virtualenv和Virtualenvwrapper【原创】

目录

一、参考

二、概要

三、Virtualenv

优点

步骤

四、Virtualenvwrapper

优点

Windows下安装步骤

Linux下安装步骤

使用

五、Pycharm虚拟环境的使用


一、参考

聊聊 virtualenv 和 virtualenvwrapper 实践

virtualenv 虚拟环境

virtualenv和virtualenvwrapper总结

Virtuanenv官方文档

Virtualenvwrapper官方文档

 

二、概要

由于Python的版本众多,而且还有Python2和Python3的争论,另外一些依赖包也有兼容性问题,所以很多软件包或者是第三方库很容易出现版本不兼容的问题

可以通过Virtualenv工具很方便的构建出一系列虚拟的Python环境,然后在每个环境中安装需要的软件包(配合pip使用),这一系列的环境是相互隔离的,作为一个独立的环境就不容易出现版本问题,而且还很方便部署

 

如图所示:

核心要点:

  • 一个操作系统下,可以有多个'操作系统级别的'Python解释器;
  • 每个Python解释器有一个指向自己的pip工具,两者一一对应;
  • 通过virtualenv可以虚拟任何一个'操作系统级别的'Python解释器成为一个'虚拟级别'的解释器
  • 每个'虚拟级别'的解释器又拥有自己独立的pip工具和site-packages

 

环境

Python 3.7

Windows 10

 

三、Virtualenv

virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。

 

优点

  • 使不同应用开发环境独立
  • 环境升级不影响其他应用,也不会影响全局的python环境
  • 它可以防止系统中出现包管理混乱和版本的冲突

 

步骤

1. 安装

pip install virtualenv

 

2. 创建虚拟环境

默认是创建在当前命令的目录下的

virtualenv  虚拟环境名

创建好了之后,当前目录下会有一个虚拟环境名的目录,该目录下有:(Windows)

  • Include
  • Lib
  • Scripts
  • tcl

 

注意:如果是Linux下的话,目录结构和Windows下的不太一样:

  • bin
  • include
  • lib

 

注意:如果有多个Python版本的话,可以加--python/-p指定python版本,后面跟着python版本的python.exe路径

 

注意:一个虚拟环境是一个文件目录,它可以链接python.exe文件、pip.exe文件和它所使用的python版本。在虚拟环境中安装的库只会存在于虚拟环境的目录里,而不会出现在全局的site-packages目录里。使用完虚拟环境后,可以将目录删除,所有的东西也随之消失了

 

注意:最好是针对每个Python项目都创建单独的虚拟环境,即每个Python项目都对应一个虚拟环境

 

注意:创建好的虚拟环境,默认安装有:pip,wheel和setuptools,有一些教程会建议使用 --no-site-packages来创建虚拟环境,这样创建出来的虚拟环境是没有这三个包的,但是 --no-site-packages已经在新版本的Virtualenv中废弃了,详情可以参考文档:https://virtualenv.pypa.io/en/latest/reference/#virtualenv-command

 

3. 激活虚拟环境

# Linux下
source 虚拟环境目录/bin/activate

# Windows下
虚拟环境目录/Scripts/activate

激活虚拟环境后就进入了一个隔离的环境,安装,卸载和使用模块,都会在虚拟环境中,而不会影响系统和其他环境。

 

4. 停止虚拟环境

deactivate

 

5. 删除虚拟环境

rmvirtualenv 虚拟环境名

# 或者
rm -rf 虚拟环境名

更多命令可以使用virtualenv --help或者是去参考官方文档:https://virtualenv.pypa.io/en/latest/reference/#virtualenv-command

 

四、Virtualenvwrapper

virtualenv 的一个最大的缺点就是,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin/Scripts 目录下 source 一下 activate进行激活,这就需要我们记住每个虚拟环境所在的目录,一旦有多个项目的话,进行项目的切换非常的麻烦

 

一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,比如放到 ~/virtualenvs/,并对不同的虚拟环境使用不同的目录来管理。virtualenvwrapper 正是这样做的。并且,它还省去了每次开启虚拟环境时候的 source 操作,使得虚拟环境更加好用。

 

virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境

 

优点

  • 将所有虚拟环境整合在一个目录下
  • 管理(新增,删除,复制)虚拟环境
  • 切换虚拟环境

 

Windows下安装步骤

1. 安装

pip install virtualenvwrapper-win

注意:Windows下需要安装virtualenvwrapper-win,而Linux下安装virtualenvwrapper

 

2. 建立虚拟环境总目录

virtualenvwrapper需要指定一个目录,是用来存放各种虚拟环境目录的目录(WORKON_HOME)

我这里使用 D://Envs 作为虚拟环境目录

mkdir d://Envs

 

3. 加入环境变量

通过计算机-->属性-->高级系统设置-->环境变量-->在系统变量中新建“变量名”:WORKON_HOME,变量值:D:\Envs

 

注意:如果不设置环境变量WORKON_HOME 的话,默认的虚拟环境是位于:C:\Users\username\envs

 

Linux下安装步骤

1. 安装

pip install virtualenvwrapper

默认安装地址:/usr/local/bin

 

注意:安装完成之后并不能直接使用virtualenvwrapper,还需要进一步进行环境设置

 

2. 建立虚拟环境总目录

virtualenvwrapper需要指定一个目录,是用来存放各种虚拟环境目录的目录

我这里使用 ~/.virtualenvs 作为虚拟环境目录

mkdir ~/.virtualenvs

 

3. 设置

virtualenvwrapper使用的时候,需要指定一下环境目录,并且需要source一下virtualenvwrapper.sh

export WORKON_HOME='~/.virtualenvs'
source /usr/local/bin/virtualenvwrapper.sh

 

由于每次都需要执行这两步操作,所以可以将其写入终端的配置文件中

vim ~/.bashrc

export WORKON_HOME='~/.virtualenvs'
source /usr/local/bin/virtualenvwrapper.sh

export VIRTUALENV_USE_DISTRIBUTE=1      # 总是使用pip/distribute
export WORKON_HOME=~/.virtualenvs       # 虚拟环境总目录

export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true

注意:如果是使用zsh的话,则需要vim ~/.zshrc

 

注意:如果virtualenvwrapper.sh文件的路径不确定的话,可以使用find / -name virtualenvwrapper.sh来查找对应的virtualenvwrapper.sh路径

 

4. 运行

source ~/.bashrc

 

使用

在虚拟环境总目录下创建虚拟环境

mkvirtualenv 虚拟环境名

默认创建在WORKON_HOME(虚拟环境总目录)下,而不是在当前目录下的

 

注意:可以加--python/-p指定python版本,后面跟着python版本的python.exe路径

 

注意:最好是针对每个Python项目都创建单独的虚拟环境,即每个Python项目都对应一个虚拟环境

 

相关命令:

 

删除环境

rmvirtualenv 虚拟环境名

 

激活环境/切换环境

workon 虚拟环境名

 

退出环境

deactivate

 

列出所有的环境

workon 

# 或者
lsvirtualenv -b

 

五、Pycharm虚拟环境的使用

在Pycharm中很方便的使用虚拟环境,Pycharm中可以指定解释器,直接将项目的Python解释器设置为对应环境中的Python解释器就行了

比如:

我在D:\Envs\下建立了一个虚拟环境za-devops-events

然后在Pycharm中打开对应的项目,设置->Settings-Project Interpreter,选择Add Project Interpreter,选择Existing environment,选择D:\Envs\za-devops-events\Scripts\python.exe

如图:

选择已有的虚拟环境:

 

选择虚拟环境的Pythoh文件:D:\Envs\za-devops-events\Scripts\python.exe,然后就可以了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装virtualenvwrappervirtualenv之前,你需要确保已经安装了Python。在macOS上,Python通常预装在系统中。你可以通过在终端中运行以下命令来检查Python是否安装: ``` python --version ``` 如果Python已经安装,你应该能够看到Python的版本号。 接下来,我们将安装virtualenvvirtualenvwrapper。你可以使用pip,Python的包管理器,来安装它们。在终端中运行以下命令: ``` pip install virtualenv virtualenvwrapper ``` 安装完成后,我们需要设置virtualenvwrapper的环境变量。打开终端配置文件(通常是.bashrc或.zshrc,根据你使用的shell不同可能会有所不同),并添加以下行: ``` export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Devel source /usr/local/bin/virtualenvwrapper.sh ``` 保存文件并重新加载配置文件: ``` source ~/.bashrc ``` 或 ``` source ~/.zshrc ``` 现在,我们可以使用virtualenvwrapper创建Python虚拟环境。首先,我们需要创建一个用于存储虚拟环境的目录。在终端中运行以下命令: ``` mkdir -p $WORKON_HOME ``` 接下来,我们可以使用mkvirtualenv命令来创建一个新的虚拟环境。例如,要创建一个名为myenv的虚拟环境,请运行以下命令: ``` mkvirtualenv myenv ``` 创建完成后,我们可以使用workon命令激活虚拟环境: ``` workon myenv ``` 现在,你已经在myenv虚拟环境中了。你可以使用pip在这个环境中安装任何Python包。 当你完成工作并想要退出虚拟环境时,请运行deactivate命令: ``` deactivate ``` 如果你想删除虚拟环境,请运行rmvirtualenv命令: ``` rmvirtualenv myenv ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值