假设你有两个Python项目-A和B,这两个项目都需要使用同一个第三方模块-tensorflow。如果这两个项目使用相同的tensorflow版本,也许不会有什么问题。

但是,当A和B项目使用不同的tensorflow版本时-A使用tensorflow 0.70版本;B使用tensorflow 0.80版本。由于Python导入模块不能区分模块版本,导致A、B不能使用tensorflow的不同版本,这在很多情况下是不能接受的。

使用虚拟环境的另一个好处是:保持开发环境的简洁、有序。

什么是Python虚拟环境?

Python虚拟环境可以为项目创建相互独立的开发环境,也就是你可以为每个项目安装各自使用依赖模块。

使用虚拟环境可以很好的解决上面A、B项目遇到的问题:为A、B项目分别创建虚拟环境,然后在各自的虚拟环境中安装不同的tensorflow版本。

使用虚拟环境需要借助virtualenv或pyvenv,它们的使用非常简单。

安装virtualenv、pyvenv

如果你使用Python 2,你可以使用pip安装virtualenv

$sudo pip install virtualenv

如果你使用Python 3,它默认安装了pyvenv。

virtualenv和pyvenv的使用方法类似。由于pyvenv是较新的工具,本帖以它为例。

创建一个存放虚拟环境的目录:

$mkdir   python-env
$cd python-env

创建一个虚拟环境:

bin/pyvenv-3.6  env_A
 

上面命令在当前目录创建了env_A目录,目录结构:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
├──bin
│  ├──activate
│  ├──activate.csh
│  ├──activate.fish
│  ├──easy_install
│  ├──easy_install-3.5
│  ├──pip
│  ├──pip3
│  ├──pip3.5
│  ├──python->python3.5
│  ├──python3->python3.5
│  └──python3.5->/opt/local/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
├──include
├──lib
│  └──python3.5
│      └──site-packages
└──pyvenv.cfg

使用创建的虚拟环境env_A:

source env/bin/activate

提示符中包含:

(env_A) [root@localhost python-env]

现在你通过pip安装的包都会安装这个虚拟环境中;导入(import)模块时也只能使用这个虚拟环境中的模块。

如果要退出env_A虚拟环境,执行:deactivate

(env_A)[root@localhost python-env]$deactivate
 

python 启动虚拟环境的更多相关文章

  1. centos 下Python独立虚拟环境创建

    virtualenv Python有着庞大的开源社区的支持,很自然就产生这么一个问题:第三方包参差不齐,如果我们想在服务器测试,或者升级某个包,就会导致生产环境产生杂乱,多余的第三方依赖包. virt ...

  2. 使用Anaconda的python安装虚拟环境是出现错误:python -m venv venvdir----Error: Command '['D:\\Development\\Django\\test\\Scripts\\python.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit

    在创建python虚拟环境的时候,如果使用的是Anaconda中集成的python -m venv venvdir就会出现不能安装pip的错误,原因是Anaconda没有ensurepip, 解决办法 ...

  3. Python flask虚拟环境安装

    1.安装virtualenv 2.在当前路径下创建文件夹,启动虚拟环境 3.在使用虚拟环境前需激活,前面出现(env说明在虚拟环境中).虚拟环境中默认安装了pip,所以直接pip安装flask 4.在 ...

  4. Windows和Linux启动虚拟环境

    快速跳转到Linux操作 Windows启动虚拟环境 <!--tab回车可以补全--> 安装virtualenv pip install virtualenv 创建虚拟环境 方法一: py ...

  5. python virtualenv 虚拟环境的应用

    为什么要使用python的虚拟环境呢?: 首先我们来说不实用虚拟环境的情况: 在Python应用程序开发的过程中,系统安装的Python3只有一个版本:3.7.所有第三方的包都会被pip3安装到   ...

  6. appium+Python 启动app(二)

    我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import ...

  7. appium+Python 启动app(一)

    当我们appium和Python环境都配置好了,如何启动我们第一个app呢?下面介绍appium+Python启动app的操作步骤,为了能够详细查看,我们这里使用夜游神模拟器进行示范. 测试项目:QQ ...

  8. ubuntu下创建python的虚拟环境

    当我们在同一个机器上进行开发多个项目,每个项目于用到包的不同版本的时候,就很尴尬. 安装python包的命令是: sudo pip install 包名 这样的话,会将包安装到/usr/local/l ...

  9. Python开发虚拟环境使用virtualenvwrapper的搭建及pycharm链接步骤

    virtualenv 是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.创建的环境是独立的,互不干扰,无需sudo ...

随机推荐

  1. 嫁给程序员的好处,你get到了吗?

    首先,我们要知道,什么是程序员?程序员是做什么的? "程序员(英文Programmer)是从事程序开发.维护的专业人员.一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚, ...

  2. 【C++】reference parameter-引用参数

    1.reference parameter 以下两个函数等效,只调用方式不同: 1> 1 int reset(int i){ 2 i = 13; 3 return i; 4 } 5 6 int ...

  3. 搭建阿里云lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7)

    阿里云一台服务器出现问题! 我估计是一键安装包环境的原因,所以打算重新搭建下环境! 首先,当然是先做好快照!安全第一! 对系统盘做更换系统操作,装上纯净版的centos. 装好后,进入系统 一.挂载数 ...

  4. Git学习之连接GitHub远程仓库

    在看此教程之前电脑上应该已安装好git,并且配置好基本信息,Git新手请从头开始. 第1步:创建SSH Key 在用户主目录下(Mac系统是在用户主目录下,可通过命令ll -a查看,Windows下自 ...

  5. luogu P3162 [CQOI2012]组装

    传送门 mdzz,为什么这题有个贪心的标签啊qwq 首先考虑每一种车间,对于每相邻两个车间,在中点左边那么左边那个会贡献答案,在右边就右边那个更优 所以总共会有m-1个这样的分界中点,然后最多有m+1 ...

  6. 【转】Python字符串格式化

    Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中. 在 Python 中,字符串格式化使用与 C 中 sp ...

  7. spring boot 与 spring cloud 关系

    公司使用spring cloud,所以稍微了解一下 看了一下spring官网对 spring boot 以及 spring cloud 的解释 Spring Boot Spring Boot make ...

  8. 页面跳转、底部tabs切换页面

    1.页面跳转 import { NavController } from 'ionic-angular'; constructor(public navCtrl: NavController) { } ...

  9. mongodb 系列 ~ mongo的两种引擎介绍对比

    一 简介 两种引擎方式的对比二  对比与说明   1 版本支持      MMAP引擎 3.2版本之前,默认引擎       WT 引擎 3.2版本之后,默认引擎   2 并发性能(核心)     M ...

  10. MGR 架构 ~ DBA相关运维管理

    一 简介:简述DBA相关管理MGR工作 二 监控 1 采用proxysql相关创造的view视图作为监控指标 三 备份 1 利用xtrabackup在读节点进行备份 2 设置binlog保留日期 四  ...