2019独角兽企业重金招聘Python工程师标准>>>

由于最近刚好有个测试需求,来讲一讲如何使用virtualenv和pip构建项目所需的独立Python环境。关于pip的介绍之前已有一篇博客,链接在下面。今天对pip的介绍主要是关于其他参数。

Python开篇——简介、pip和conda

1 为什么需要独立的Python环境?

在讲技术前,想先讲讲目的。为什么我们需要独立的Python环境?这里就借用virtualenv的文档来解释吧。

virtualenv is a tool to create isolated Python environments.

The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2. How can you use both these applications? If you install everything into /usr/lib/python2.7/site-packages (or whatever your platform’s standard location is), it’s easy to end up in a situation where you unintentionally upgrade an application that shouldn’t be upgraded.

Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.

Also, what if you can’t install packages into the global site-packages directory? For instance, on a shared host.

In all these cases, virtualenv can help you. It creates an environment that has its own installation directories, that doesn’t share libraries with other virtualenv environments (and optionally doesn’t access the globally installed libraries either).

当你在开发or数据分析时,可能会遇上不同的需求,对所需要的包的版本不统一,譬如前一段我在开发D3L Tool的时候遇上的一个问题。当时开发的程序并不能在Win 7系统上运行,后面搜索了很久,发现是pyinstaller版本的问题。但是我又不太想把pyinstaller版本往下降。所以这个时候virtualenv就很有用了。

2 使用virtualenv和pip来构建纯净和独立的Python环境

接下来主要来讲讲怎么操作。另外提一句这里介绍的主要是Windows下的,Linux和Mac的会有些小差别。基于的Python环境是Anaconda2 Python 2.7.12。

2.1 安装

安装部分还是pip大法好。具体就不展开了,pip的安装在前面的博客已经介绍过了。

pip install virtualenv

2.2 使用virtualenv创建Python环境

先选择你要创建的工程路径。用cmd进入到该文件夹里。

cd your project path

接下来有两种情况,virtualenv的使用方式其实与pip类似,它也在Python安装路径的Scripts里。因此根据你是否设置了环境变量就有两种方式运行。

情况1:将Scripts路径设置为电脑的环境变量

virtualenv venv #venv为你的文件名,也就是放置新的、纯净的、独立的Python环境的文件夹

情况2: 没有设置Scripts路径为电脑的环境变量

.../Python/Scripts/virtualenv venv #...表示Python安装路径包,根据个人不同替换,venv同上

接着就开始运行了,定位到我们建立的文件夹下可以看到。

一共有这么几个文件。

接下来在cmd定位到项目路径,并运行如下命令。

cd Scripts
activate

这就进入了virtualenv的Python环境。

关闭这个环境,只需要运行如下命令。

deactivate

2.3 使用pip安装包

其实pip安装的部分我之前已经介绍过了,不过上一篇讲得比较简单,仅仅就讲了讲最简单的pip install。而pip 安装包的时候,由于使用的是国外的地址下载包,可能会有些慢或者经常掉线,因此使用国内镜像是比较快的,另外如前文的需求,有些时候需要安装指定版本的包。这也是这次的重点。

pip install -i "mirror" numpy==version # mirror就是指国内的镜像地址,version就是指包的版本。

主要介绍的两个参数就是如上所示了,一个是填入国内镜像地址,一个是给定指定包的版本。具体镜像地址见问候链接的第二篇文章。这里给出清华的镜像。

清华大学镜像:https://pypi.tuna.tsinghua.edu.cn/simple

本文参考的一些文章链接如下。

1.用virtualenv建立多个Python独立开发环境

2.让PIP源使用国内镜像,提升下载速度和安装成功率

转载于:https://my.oschina.net/u/2424163/blog/1939509

使用virtualenv和pip构建项目所需的独立Python环境相关推荐

  1. 利用virtualenv和pip构建虚环境并安装配置推送客户端

    yum install python-virtualenv python-pip python-setuptools /usr/bin/virtualenv -p /usr/local/bin/pyt ...

  2. 如何在虚拟linux环境运行python_linux下使用virtualenv虚拟独立python环境

    virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解决包冲突问题. 一.安装virtualenv virtualenv实际上是一个pyth ...

  3. virtualenv虚拟独立python环境使用

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packag ...

  4. 如何利用pip在指定版本的python环境下安装库

    问题描述 我们在学习和工作中尝尝会用到不同版本的python,很多人的python版本是在anaconda路径下的,与此同时还可能有电脑自带的python版本,利用win+cmd输入python可以看 ...

  5. 拒绝conda, 用virtualenv构建多版本的python开发环境

    本文章转载自公众号 "生信码农笔记(ID:bio-coder)",已获得原作者授权. 1. 不喜欢用 conda 特别不喜欢 bioconda, miniconda, Anacon ...

  6. Linux virtualenv, virtualenvwrapper, pip freeze

    在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题,或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难,所以要使用虚拟环境 确保开发环境的一致 ...

  7. virtualenv创建独立的Python环境

    安装virtualenv以及将指定虚拟环境中运行的python版本为python3.X,而不是python2.7 关于virtualenv 从字面上可以理解到,virtualenv旨在搭建一个虚拟py ...

  8. python工作环境创建_VirtualEnv 和Pip 构建Python的虚拟工作环境

    (这是打算写的这个系列 http://www.v2ex.com/t/33489 的第一篇,我不会太监,毕竟这些内容本来在公司内部或多或少就会有整理,不过工作本身忙,进度快慢不能保证,各位谅解) 一 般 ...

  9. linux 下各个工具使用(screen、tmux,pyenv、virtualenv,pip国内源,tree)

    一.多会话工具screen.tmux 两个都是多窗口工具. 1.使用后wim出现配色问题: http://ibartman.com/2014/04/16/vim%20%E9%85%8D%E8%89%B ...

  10. python下载pip脚本显示file_再见 virtualenv!K神教你轻松管理多个Python环境

    原标题:再见 virtualenv!K神教你轻松管理多个Python环境 菜鸟学Python",选择" 星标"公众号 超级无敌干货第一时间推给你!!! 小编电脑上有多个 ...

最新文章

  1. SpringBoot之@EnableConfigurationProperties分析
  2. Spring5参考指南:IOC容器
  3. 编译原理陈意云3-20 (a) 证明下面文法 S→AaAb|BbBa A→ε B→ε 是LL(1)文法,但不是SLR(1)文法。
  4. 企业为什么要开通银企直联_企业为什么要做网站推广
  5. pandas 合并所有列_图解Python表格操作包Pandas
  6. python获取浏览器数据_python 获取有关访问者的浏览器的 细节
  7. php数组排序id取得,php专用数组排序类ArraySortUtil用法实例
  8. 万能钥匙ctf--4-ReeHY-main调试记录--unlink
  9. 最具价值中国品牌百强榜单发布 小米首次入围排名第11位
  10. JQuery 插件之Ajax Autocomplete(ajax自动完成)
  11. k8s中的endpoint
  12. shadowdocksc错误;端口已被占用
  13. flutter 华为审核:你的应用存在隐藏最近任务列表中应用名称的问题,不符合华为应用市场审核标准
  14. 如何写linux软件专利,Linux之父:软件专利和方法专利都挺扯淡
  15. iOS 应用程序的生命周期
  16. vue2的指令和自定义指令
  17. Oracle视图列名可以小写吗,oracle表列名大小写
  18. 面包屑导航:最佳实践和范例
  19. css flex布局网页小游戏
  20. GitHub已标星72K阿里内部878页性能优化笔记限时免费

热门文章

  1. linux 配置ssh免密码登录脚本
  2. 第一个Spring冲刺周期团队进展报告
  3. 如何设计自动化测试的代码结构
  4. 移动相机GoPro文件帮手—Helper for GoPro Files for Mac
  5. 视频剪辑软件Movie Studio安装教程
  6. 伯努利数 + 自然数幂( Zoj2865 + 51Nod1228 + 51Nod1258 + 51Nod1822)
  7. jquery扩展方法的两种形式
  8. javascript案例---简单的视觉效应
  9. js或css指定元素点击时内容不可被选中
  10. Python 之 向上取整、向下取整以及四舍五入函数