虚拟环境的作用

使python环境拥有独立的包,避免污染原本的python环境。为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰。

例如你想在同一台机器上开发用python2和python3写的2个项目就可以用虚拟环境进行隔离,又网站开发、爬虫和科学计算所需要的包都不一样也可以用虚拟环境。

下面有几种虚拟环境管理工具自行选择

virtualenv

安装

pip install virtualenv

创建

mkdir myproject

cd myproject

virtualenv venv #不指定解释器会默认选择

virtualenv -p /usr/bin/python2.7 venv  #指定python2.7解释器

virtualenv -p /usr/bin/python3.7 venv  #指定python3.7解释器

使用

source venv/bin/activate #首先需要激活环境,之后安装的所有包就全在这个环境中

deactivate #当在这个环境中工作完后可以退出环境

rm -rf venv #当不再需要这个环境后进行删除

附上官方文档,https://virtualenv.pypa.io/en/latest/userguide/

virtualenvwrapper

你可以在系统的任意地方创建虚拟环境,当下次需要这个某个环境的时候很难找,virtualenv不便于对环境的集中管理,virtualenvwrapper很好的解决了这个问题

安装

pip install virtualenvwrapper 

安装完成后的配置,修改~/.bash_profile

export WORKON_HOME=$HOME/envs #指定虚拟环境存放目录

source /usr/local/bin/virtualenvwrapper.sh

运行配置文件

source ~/.bash_profile

创建

mkvirtualenv py2 #不指定,使用默认

mkvirtualenv --python=/usr/local/python3.7/bin/python py3 指定解释器为3.7

mkvirtualenv -p python3.7 pynew 指定版本比较喜欢用这个

使用

workon  #可以查看所有的虚拟环境

workon pynew 激活虚拟环境(workon 后面+虚拟环境名)

deactivate #退出虚拟环境

rmvirtualenv pynew (删除虚拟环境)

pipenv

安装

pip install pipenv 

创建

mkdir myproject

cd myproject

pipenv install

pipenv  --three #指定系统的python3版本解释器

pipenv --two #指定系统的python2版本解释器

pipenv --python3.7 #指定系统的python3.7版本解释器

使用

pipenv shell #激活虚拟环境

pipenv install numpy #安装包

pipenv uninstall numpy #卸载包

pipenv --where #显示环境路径

pipenv --venv #显示虚拟环境信息

pipenv --py #显示解释器信息

pipenv --rm #删除当前虚拟环境

exit #退出虚拟环境

conda

Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。

安装可以下载一个科学计算包anaconda,怕麻烦的人可以直接安装,自带很多必须包

清华镜像下载地址,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

创建

conda create --name py3 python=3.7

使用

conda env list #查看当前存在的虚拟环境

source activate py3 #激活虚拟环境 activate py3 windows下

conda install numpy #安装包

source deactivate #退出虚拟环境

conda remove -n py3 --all #删除虚拟环境

python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda的更多相关文章

  1. 【python】虚拟环境管理之 virtualenv 、pipenv

    虚拟环境介绍 应用场景 python在安装第三方包时,会被pip安装到/site-package下,如果我们需要同时维护多个python项目,那这些项目都会共用一个python,而真实需求是多个项目之 ...

  2. python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm

    1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...

  3. python——虚拟环境管理大合集

    个人常用:pipenv 安装 pip3 install pipenv 创建虚拟环境 # 默认安装在~/.local/virtualenv下 mkdir project cd project pipen ...

  4. Python虚拟环境管理工具virtualenvwrapper安装及配置

      1. 安装virtualenv 使用pip install virtualenv安装virtualenv虚拟环境工具 2. 安装virtualenvwrapper a) Linux环境,直接使用p ...

  5. python虚拟环境管理包virtualenvwrapper

    1.打开cmd 2.安装virtualenvwrapper pip install virtualenvwrapper-win 3.配置虚拟环境的位置 新建系统变量默认在c盘 4.新建虚拟环境 mkv ...

  6. python虚拟环境管理 Pipenv 使用说明

    安装 pip install pipenv 检查是否安装成功 pipenv --version 创建虚拟环境(在工程文件夹下) pipenv install 默认下,Pipenv统一管理所有虚拟环境 ...

  7. python环境下安装virtualenv,virtualenvwrapper

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

  8. Linux python 虚拟环境管理

    直接复制的内容: 原著:https://www.cnblogs.com/q767498226/p/11099884.html 报错解决:https://blog.csdn.net/weixin_467 ...

  9. anaconda虚拟环境管理,从此Python版本不用愁

    1 引言 在前几篇博文中介绍过virtualenv.virtualenvwrapper等几个虚拟环境管理工具,本篇要介绍的anaconda也有很强大的虚拟环境管理功能,甚至相比virtualenv.v ...

随机推荐

  1. Java8新特性 -- Lambda 方法引用和构造器引用

    一. 方法引用: 若Lambda体中的内容有方法已经实现了,我们可以使用“方法引用” 要求 方法的参数和返回值类型 和 函数式接口中的参数类型和返回值类型保持一致. 主要有三种语法格式: 对象 :: ...

  2. Java并发编程--7.Java内存操作总结

    主内存和工作内存 工作规则 Java内存模型, 定义变量的访问规则, 即将共享变量存储到内存和取出内存的底层细节  所有的变量都存储在主内存中,每条线程有自己的工作内存,工作内存中用到的变量, 是从主 ...

  3. Day17 多线程编程

    基本概念 进程:内存中正则运行的一个应用程序.一个进程包含多个线程. 线程:进程中的一个执行流程. 多线程:有两个或两个以上的并发执行流程. 线程的声明周期 说明: 1. 新建状态(New)      ...

  4. virtualbox+vagrant学习-2(command cli)-12-vagrant Provision命令

    Provision 格式: vagrant provision [vm-name] [--provision-with x,y,z] 针对正在运行的vagrant托管计算机运行任何配置预配置程序. u ...

  5. JAVA构造MAP并初始化MAP

    第一种方法:static块初始化 public class Demo{ private static final Map<String, String> myMap; static { m ...

  6. 使用vue.js实现checkbox的全选和多个的删除功能

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  7. LeetCode429. N-ary Tree Level Order Traversal

    题目来源:429. N-ary Tree Level Order Traversal https://leetcode.com/problems/n-ary-tree-level-order-trav ...

  8. $2018/8/15 = Day \ \ 1$杂题整理

    \(\mathcal{Morning}\) \(Task1\)高精度\(\times\)高精度 哦呵呵--真是喜闻乐见啊,我发现这一部分比较有意思于是就打算整理下来233.窝萌现在有一个整数\(A = ...

  9. PCB布线经验

      查看: 3645|回复: 11    [经验] PCB设计经验(1)——布局基本要领 [复制链接]     ohahaha 927 TA的帖子 0 TA的资源 纯净的硅(中级) 发消息 加好友 电 ...

  10. vue实现两重列表集合,点击显示,点击隐藏的折叠效果,(默认显示集合最新一条数据,点击展开,显示集合所有数据)

    效果图: 默认显示最新一条数据: 点击显示所有数据: 代码: 说明:这里主要是 这块用来控制显示或者隐藏 根据当前点击的  这个方法里传递的index 对应  isShow 数组里的index  ,对 ...