【编程课堂】同一台电脑,不同的 Python

virtulenv 是一个创建独立 python 运行环境的工具。

在标准的 python 环境中,所有的库都是唯一存在的,不会有两个或以上版本的相同库。

但在日常的开发工作中常常会遇到此类问题,比如:

目前使用 django1.9 版本,但 django1.10 版本支持一些新特性,想去尝试一下,在不破坏 1.9 版本的前提下如何使用 django1.10。

做一个临时的项目,需要安装大量的第三方库,不希望把这些临时使用的库安装到标准环境中。

遇到以上情况时,使用 virtulenv 工具创建一个单独运行 python 环境就能很好的解决这些问题。

1、安装及入门

1.1 安装

安装过程比较简单,命令行下输入 pip install virtualenv 即可。

1.2 创建虚拟环境

创建虚拟环境的命令也比较简单,命令行下输入:

virtualenv ENV

ENV 为虚拟环境放置的文件夹名,命令虽然简单,但需要注意的地方也不少。以 windows 为例,在 D 盘根目录下创建一个虚拟环境,文件夹名为 venv,操作步骤如下

文件夹中显示

如此,就创建了一个基本的虚拟环境。当然, vituralenv 提供了一系列个性化定制虚拟环境的功能,比如添加 --system-site-packages 命令后,使用 virtualenv --system-site-packages venv 可以在虚拟环境中使用原有 python 环境下的第三方库,查看更多命令参考:

https://virtualenv.pypa.io/en/latest/reference/

1.3 激活虚拟环境

激活该虚拟环境,就可以开始使用了,windows 下进入刚刚创建的虚拟环境中 scripts 文件夹,即\venv\scripts,然后使用 activate 命令,就可以正常使用虚拟环境了,如下图所示 :

你可以正常使用 pip 命令

1.4 退出虚拟环境

使用完虚拟环境之后,退出可以直接右上角点击关闭,但作为一名程序猿,我们需要优雅的退出环境,不能这么暴力,使用 deactivate 命令即可,如图所示:

路径前的 (venv) 消失了,即代表已经退出虚拟环境。

2、小结

virtualenv 最基本的用法已经介绍完毕了,有需要的小伙伴赶紧动手尝试一下吧,有疑问的同学还可以参考:

官方文档:https://virtualenv.pypa.io/en/stable/ virtualenv-廖雪峰: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432712108300322c61f256c74803b43bfd65c6f8d0d0000

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2017-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏aCloudDeveloper

UNIX环境高级编程笔记之线程

  本章涉及到线程的一些基本知识点,讨论了现有的创建线程和销毁线程的POSIX.1原语,此外,重点介绍了线程同步问题,讨论了三种基本的同步机制:互斥量、读写锁、...

27160
来自专栏我的博客

Wamp2.0再配phpmyadmin

测试版本:wamp2.0 删除其他用户 仅留下root—localhost (并且设置密码:*********) 找到confing.inc.php(在ap...

28650
来自专栏搜云库

Spring Cloud(十)高可用的分布式配置中心 Spring Cloud Config 中使用 Refresh

上一篇文章讲了SpringCloudConfig 集成Git仓库,配和 Eureka 注册中心一起使用,但是我们会发现,修改了Git仓库的配置后,需要重启服务,...

233100
来自专栏java闲聊

多个Mysql安装

20350
来自专栏抠抠空间

浅谈virtualenv(虚拟环境)

19430
来自专栏小白鼠

Jenkins远程部署

服务器之间如果已经配置了通过ssh无密码访问,有关于这一步的配置就结束了。如果没有配置,可以通过密码的方式进行访问,需要配置 密码 和 端口。点击高级:

1.4K30
来自专栏惨绿少年

默认权限umask、文件系统权限、特殊权限

第1章 权限相关错误 1.1 普通用户 ls /root/ /root  属于root 普通用户没有任何权限,所以无法查看 [oldboy@znix ~]$ l...

49800
来自专栏前端儿

Node.js爬虫数据抓取 -- 问题总结

为请求添加user-agent头,如取消上注释部分。(我发现,只要有了user-agent这个key,无论其value是否为空,都可以正常返回了)

12710
来自专栏java相关

Mac OS X下安装和配置Maven

12140
来自专栏程序猿DD

Spring Cloud构建微服务架构:分布式配置中心【Dalston版】

前言 Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,...

22380

扫码关注云+社区

领取腾讯云代金券