虚拟环境的安装--virtualenv


本篇文章介绍的是虚拟环境的安装。

0、简介

(1)什么是虚拟环境

虚拟环境就是借助虚拟机来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。

(2)为什么使用虚拟环境

在实际项目开发中,我们通常会根据自己的需求去下载各种相应的函数包,如Pytorch,Numpy等,但是可能每个项目使用的函数包并不一样,或使用包的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接对我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。

一、虚拟环境的创建

(0)Base环境前提

所谓的虚拟环境是依赖于现有环境的。举个例子,假设现有的环境是python3.5,你想要安装一个python3.6的环境,则需要安装一个python3.6 才可以创建相关的环境。

1)Ubuntu安装python3.6

参考教程Ubuntu python3.6的安装

2)python版本管理包 – Pyenv

参考教程python版本管理 — pyenv

(1)Anaconda创建虚拟环境

提到虚拟环境,相信大家首先想到的就是Anaconda,但是由于Anaconda实在是太大了。

(2)virtualenv创建虚拟环境

本篇博客推荐一个轻量的虚拟环境工具包。

  • 一共只需要执行以下四步

1)virtualenv安装

pip3 install virtualenv

踩过的坑:
(1) 最好不要使用 sudo pip install virtualenv
因为使用sudo命令之后,可能会报错bash: /home/jankin/.local/bin/virtualenv: 没有那个文件或目录也就是找不到virtualenv
修改策略:卸载这边包,重新安装一下(不要使用sudo)

2)设置软链接(可以不执行)

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

3)创建环境

  • 如果你使用 --system-site-packages 参数创建虚拟环境,你创建的虚拟环境会继承 /usr/local/python3/lib/python3.5/site-packages
virtualenv --system-site-packages --python=/usr/bin/python3 env3
  • 使用 --no-site-packages 参数建立虚拟环境,虚拟环境不会依赖系统环境中的 sit package
virtualenv --no-site-packages [虚拟环境名称]     ---- 版本在 20 之前
virtualenv  [虚拟环境名称]                       ---- 版本在 20 之后

如果报错 virtualenv: error: unrecognized arguments: --no-site-packages
产生错误的原因是virtualenv的版本不对
处理策略:pip install --upgrade virtualenv==16.7.9
因为从版本 20 开始,默认就是 --no-site-packages

  • --python 指定python的相关信息
    –python=python3

  • --prompt=PROMPT 可以为创建的虚拟环境指定提示前缀:

 virtualenv --prompt="测试" env3
  • 创建的环境里面包含三个文件
  • env3/lib 和 env3/include 目录中包含了虚拟环境ENV使用的库文件。
    在虚拟环境中安装的第三方包会安装在 ENV/lib/python3.5/site-packages 目录下。
  • env3/bin 目录里面放置了可执行文件,在里面有新安装的Python 包中的可执行程序,包括pip等相关工具。

4)使环境生效

执行下面的语句

source ./env3/bin/activate

5) 退出虚拟环境

deactivate    #使用公共环境

6) 删除虚拟环境

要删除一个虚拟环境,只需删除它的文件夹

温馨提示

大家在虚拟环境中安装包的时候,可能会和本地的包冲突,这样的话,去掉sudo命令就行了。

**可能出现的问题

问题一:权限不足

  • 若是直接使用sudo,则会直接安装在环境之外(也就是本地)
  • 解决方法如下所示:
which python
# 输出 /home/jankin/env/python

sudo /home/jankin/env/python -m pip install lmdb
'''
python -m意思是将库中的python模块当脚本执行
'''

大家如果有什么想补充的可以联系我
有什么想知道的也可以联系我,我学习,整理

二、虚拟环境管理工具virtualenvwrapper

2.1 简介

鉴于virtualenv不便于对虚拟环境集中管理,所以推荐直接使用virtualenvwrapper。 virtualenvwrapper提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

2.2 安装教程

2.2.1 在ubuntu下安装

  1. 首先确保virtualenv已安装
  2. 执行以下命令
pip install virtualenvwrapper
pip install virtualenvwrapper-win  #Windows使用该命令

安装完成后,在~/.bashrc写入以下内容

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

第一行:virtualenvwrapper存放虚拟环境目录

第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh

source ~/.bashrc    #读入配置文件,立即生效

2.3 基本使用

  • 列出所有虚拟环境 workon
  • 创建基本环境 mkvirtualenv [环境名]
  • 激活环境 workon [环境名]
  • 退出环境 deactivate [环境名]
  • 删除环境 rmvirtualenv [环境名]
  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值