虚拟环境使用第三方工具virtualenv创建,首先输入以下命令检查系统是否已经安装virtualenv。

$ virtualenv --version

如果显示virtualenv版本号,则说明已经正确安装,如果出现异常,则使用以下命令安装

macOS:

$ sudo easy_install virtualenv

Ubuntu

$ sudo apt- get install python- virtualenv

安装完成后,再执行上述步骤检查是否安装成功。

下一步使用virtualenv在指定的目录中创建Python虚拟环境

cd 到指定目录,如

$ cd /Users/Matrix/Documents/Projects/temp 

使用如下命令创建虚拟环境,在这里把虚拟环境命名为 venv

$ virtualenv venv

激活虚拟环境

Linux\macOS:

$ source venv/bin/activate

Windows:

$ venv\Scripts\activate

出现类似结果即表示虚拟环境激活成功

(venv) yujingyao:temp Matrix$ 

输入Python命令验证一下,一切正常

Python 2.7. (default, Oct  , ::)
[GCC 4.2. Compatible Apple LLVM 7.0. (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

与pyenv整合,实现支持多个Python版本的virtualenv虚拟环境

需要先安装pyenv,详见 http://www.cnblogs.com/blackmatrix/p/5591341.html

接着,安装pyenv-virtualenv插件

macOS:

brew install pyenv-virtualenv

安装对应版本的虚拟环境,取名为venv351

$ pyenv virtualenv 3.5. venv351

命令执行完成后,会在~/.pyenv/versions/下出现一个venv351的虚拟环境

激活虚拟环境,其中venv351为自定义的虚拟环境名称

$ pyenv activate venv351

运行python命令验证版本

Python 3.5. (default, May   , ::)
[GCC 4.2. Compatible Apple LLVM 7.3. (clang-703.0.)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

现在唯一缺陷就是pyenv的virtualenv只能创建在~/.pyenv/versions/路径下,还没找到方法可以既使用pyenv又将虚拟路径创建在项目目录下

退出虚拟环境的命令

pyenv deactivate

删除虚拟环境,则删除以下目录即可,目录名自行替换

$ rm -rf ~/.pyenv/versions/venv351
$ rm -rf ~/.pyenv/versions/3.5./envs/venv351

  

通过pyenv和virtualenv创建多版本Python虚拟环境的更多相关文章

  1. 【python】pyenv与virtualenv安装,实现python多版本多项目管理

    踩了很多坑,记录一下这次试验,本次测试环境:Linux centos7 64位. pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python ...

  2. Anaconda 创建 32位python虚拟环境

    Anaconda 创建 32位python虚拟环境 ​ 最近实习在做一个接口自动化数据上传的功能,因为数据是更新的,需要每次上传都查询数据库调用匹配,就不得不面对 python 连接 oracle . ...

  3. 在macOS上通过pyenv安装和切换多版本Python

    1. 安装homebrew 官网 http://brew.sh/index_zh-cn.html 打开终端,在终端中粘贴如下脚本 /usr/bin/ruby -e "$(curl -fsSL ...

  4. 用 virtualenv 创建隔离的 Python 运行环境

    以 Ubuntu 14.04 系统为例,安装的 Python 和 Python3 分别是 2.7.6 和 3.4.3, 但有些项目,有些模块要求特定的 Python 版本.而当前系统默认的 Pytho ...

  5. virtualenv 安装不同版本的虚拟环境的办法

    废话不多说直接上代码 virtualenv -p C:\Python27\python2.exe env 上面的*.exe是你要使用的python版本的exe文件的绝对路径. 官方文档参考:http: ...

  6. 多版本python共存

    当不同版本python之间相互不能兼容时,可以使用virtualenv创建不同版本python的虚拟环境 当没有指定python解释器时(如下-p 即为指定的python版本),将使用默认的全局pyt ...

  7. 如何利用pyenv 和virtualenv 在单机上搭建多版本python 虚拟开发环境

    pyenv 和virtualenv分别是干什么的? pyenv帮助你在一台机上建立多个版本的python环境, 并提供方便的切换方法. virtualenv则就是将一个目录建立为一个虚拟的python ...

  8. 配置python虚拟环境Virtualenv及pyenv

    pyenv pyenv 可以让机器安装各种不同版本的python pyenv install --list 查看可以安装的python版本 pyenv versions 查看已安装的python版本 ...

  9. Python虚拟环境工具-Virtualenv 介绍及部署记录

    在开发Python应用程序时,系统默认的Python版本可能会不兼容这个应用程序, 如果同时开发多个应用程序, 可能会用到好几个版本的python环境, 这种情况下,每个应用可能需要各自拥有一套&qu ...

随机推荐

  1. 新版netkeeper开wifi无需路由器

    谈一谈netkeeper的运行原理及如何不用路由器开启wifi.(针对重庆地区,其它地区没研究过.日期:2017.11.29) 旧版: netkeeper将用户名加密为真正的用户名进行登录,登录以后n ...

  2. Js中for循环的阻塞机制

    Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程.所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码. 由于浏览器是事件驱动的(Event driven) ...

  3. CSS的常见问题

    1.css的编码风格 多行式:可读性越强,但是CSS文件的行数过多,影响开发速度,增大CSS文件的大小 一行式:可读性稍差,有效减少CSS文件的行数,有利于提高开发速度,减小CSS文件的大小 2.id ...

  4. 【NOIP2015提高组】信息传递

    https://www.luogu.org/problem/show?pid=2661 傻逼图论题,把我写成傻逼了. DFS找环,每个结点第二次访问时更新答案. 但是图会有几个连通块,所以要分开讨论. ...

  5. poj 2159 D - Ancient Cipher 文件加密

    Ancient Cipher Description Ancient Roman empire had a strong government system with various departme ...

  6. day6、Linux下如何找出7天以前的文件删除

    有些时候,由于系统产生的日志文件,使服务器的磁盘空间紧张,所以怎么删除7天以前的日志文件及让系统只保留7天以内的日志文件 方法一 使用命令:find + |xargs + ls 命令方法:find / ...

  7. Django中多表查询思路

    需求: 1.有一张文章表和一张评论表 2.两张表的关系是一对多 3.规则:若是有新评论,则将对应的文章置顶,若是有新文章则将新文章置顶. 思路: 在文章表中增加一个最后评论时间的字段.然后采用分组排序 ...

  8. python 初学之账户登录

    要求: 输入用户名密码正确,提示登录成功, 输入三次密码错误,锁定账户. 开始: 使用两个文件: 密码账户文件 文件格式: jason    23456 tom       56789 tang   ...

  9. db2 调整连接数的优化

    The Version 9.5 default for the max_coordagents and max_connections parameters will be AUTOMATIC, wi ...

  10. java中的集合操作类(未完待续)

    申明: 实习生的肤浅理解,如发现有错误之处.还望大牛们多多指点 废话 事实上我写java的后台操作,我每次都会遇到一条语句:List<XXXXX> list = new ArrayList ...