• Mac中使用virtualenv和virtualenvwrapper


    Virtualenv

    介绍

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题;亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。

    因此,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。而 virtualenv就是一个可以帮助我们管理不同 Python 环境的绝好工具。virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。

    安装

     pip3 install virtualenv
    
    • 1

    这样就成功了

    使用

    创建

    假如我们想要用scrapy去爬取某个网站的信息,我们不想再宿主环境总安装scrapy以及requests这些包,那我们就可以使用virtualenv了。

    假设我们把这个虚拟环境放在~/workspaces/project_env/spider/目录下

     virtualenv ~/workspaces/project_env/spider/
    
    • 1

    这样虚拟环境就创建好了,我们可以看到在这个目录下油三个目录被建立

    • bin:包含一些在这个虚拟环境中可用的命令,以及开启虚拟环境的脚本 activate
    • include:包含虚拟环境中的头文件,包括 Python 的头文件
    • lib:这里面就是一些依赖库
    激活
     source ~/workspaces/project_env/spider/bin/activate
    
    • 1

    此时我们就已经在虚拟环境中了

    可以安装一下requests这个模块

     pip install requests
    
    • 1

    可以看到很快就成功

    退出虚拟环境
     deactivate
    
    • 1

    virtualenvwrapper

    介绍

    我们刚才了解了virtualenv,我觉得比较麻烦,每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source一下 activate,这就需要我们记住每个虚拟环境所在的目录。

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

    安装

     pip install virtualwrapper
    
    • 1

    这样我们就安装好了可以管理虚拟环境的神器

    使用

    配置

    首先需要对virtualenvwrapper进行配置:

    • 需要指定一个环境变量,叫做WORKON_HOME,它是用来存放各种虚拟环境目录的目录
    • 需要export vitualenvwrapper这个模块存放的位置
    • 需要运行一下它的初始化工具 virtualenvwrapper.sh,可通过which virtualenvwrapper.sh查看位置,我的在/usr/local/bin/

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

    如果使用 bash,则添加到 ~/.bashrc 中

    如果使用 zsh,则添加到 ~/.zshrc 中

    这样每次启动终端的时候都会自动运行,终端启动之后 virtualenvwrapper 就可以用啦

     export WORKON_HOME='~/Workspaces/Envs'
    
     export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3
    
     source /usr/local/bin/virtualenvwrapper.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5

    创建虚拟机

    mkvirtualenv env
    
    • 1

    创建虚拟环境完成后,会自动切换到创建的虚拟环境中

    当然也可以指定虚拟机的 python 版本

    mkvirtualenv env -p C:\python27\python.exe
    
    • 1

    列出虚拟环境列表

    workon 或者 lsvirtualenv
    
    • 1

    启动/切换虚拟环境

    使用 workon [virtual-name] 即可切换到对应的虚拟环境

    workon [虚拟环境名称]
    
    • 1

    删除虚拟环境

    rmvirtualenv [虚拟环境名称]
    
    • 1

    离开虚拟环境,和 virutalenv 一样的命令

    deactivate
    
    • 1
  • 相关阅读:
    [数据集][VOC]高质量的目标检测数据集合集(持续更新)
    Jtti:Ubuntu下如何用vsftpd配置FTP服务器
    生命科学领域下的“全球突破性十大技术”干货与分享
    java 字符串只保留数字、字母、中文
    用Jmeter进行压测详解
    SpringIoc容器之Aware
    前端 :用HTML ,JS写一个 双色球彩票中将机制,因为时间不够,加上本人懒没有用CSS美化界面,多包涵
    访客登记信息不全?线上预约成新潮流
    python urllib open 头部信息错误
    Kotlin 优点
  • 原文地址:https://blog.csdn.net/liufang_imei/article/details/133685003