一篇文章帮你解决python的包管理
虚拟环境virtualenv

创建虚拟环境
命令:virtualenv venv

执行这个命令会默认在当前目录创建一个虚拟环境venv 目录,这里包含了Python可执行文件,常用的标准库,激活virtualenv环境脚本的目录,激活virtualenv环境的脚本在下图目录中的Scripts目录中的activate,执行这个程序就可以激活

当我们激活虚拟环境后,会出现如下图所示,标注的部分就表示你已经进入了虚拟环境。如果想要退出虚拟环境需要执行deactivate

在虚拟环境中你的环境和你本机的python环境是隔离的如果你在虚拟环境中通过pip安装包只会安装在你这个虚拟环境目录下,并不会安装到你的电脑
python环境下

但是如果仅仅是这个模块好像是没那么方便,这里我们需要再安装一个模块virtualenvwrapper,其实这个是对virtualenv模块的扩展,让你更加方便的管理和创建虚拟环境
virtualenvwrapper模块
virtualenvwrapper是对virtualenv的功能扩展,它可以帮我们:
管理全部的虚拟环境
更加方便的创建,删除和拷贝虚拟环境
安装:pip install virtualenvwrapper

为了方便管理需要在环境变量里添加一个环境变量,这里我创建一个目录,用于存放所有的虚拟环境,我这里用的是E:\venv_project目录

安装完成virtualenvwrapper 之后,我们就有了几个命令可以用:
mkvirtualenv :创建虚拟环境
lsvirtualenv:列出全部的虚拟环境
showvirtualenv:列出单个虚拟机环境的信息
rmvirtualenv:删除一个虚拟环境
cpvirtualenv:拷贝一个虚拟环境
allvirtualenv:对当前虚拟环境执行统一的命令
cdvirtualenv:可以直接切换到虚拟环境的子目录里
cdsitepackages:和cdvirtualenv同理,切换到虚拟环境的site-packages目录下
lssitepackages:列出site-packages目录下的目录
上述命令的简单实用例子:

因为上面已经提前添加了WORKON_HOME环境变量,所以我们通过mkvirtualenv命令创建的虚拟环境都会创建到这个目录下,
这里还有一个命令:workon命令可以列出所有的虚拟环境


我们通过mkvirtualenv创建虚拟环境,并通过通过workon命令可以查看我们创建的所有虚拟机环境,以及通过workon命令在不同的虚拟环境中迅速切换
这样虚拟环境就安装完成了
总结
通过上面的虚拟环境,我们每个项目都可以运行在独立的python环境中,也不用担心不同项目之间python包的干扰,还能保证你本地测试环境的代码完全和上线时是一致的
再也不用因为在测试环境好好地,放到线上各种奇怪的问题 ,如下图上线之后很多程序员发现bug的感觉:

一篇文章帮你解决python的包管理的更多相关文章
- 一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接
[一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知道最近电影更新的状态. 今天小编以电影天堂为例,带大家更直观的去看自己喜欢的电影,并且下载下来 ...
- Python的包管理工具Pip (zz )
Python的包管理工具Pip 接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_ins ...
- Python的包管理
0.Python的包管理 在刚开始学习Python的时候比较头疼各种包的管理,后来搜到一些Python的包管理工具,比如setuptools, easy_install, pip, distribut ...
- Python的包管理工具
Python的包管理工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么使用包管理 Python的模块或者源文件直接可以复制到目标项目目录中,就可以导入使用了. 但是为了 ...
- Python PIP包管理器
版权所有,未经许可,禁止转载 章节 Python 介绍 Python 开发环境搭建 Python 语法 Python 变量 Python 数值类型 Python 类型转换 Python 字符串(Str ...
- Python之包管理工具:distutils、setuptools、distribute、setup.py、easy_install、easy_install、pip
在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_install和pip等等. 介绍:htt ...
- 【转载】Python的包管理工具Pip
接触了Ruby,发现它有个包管理工具RubyGem很好用,并且有很完备的文档系统http://rdoc.info 发现Python下也有同样的工具,包括easy_install和Pip.不过,我没有细 ...
- Python的包管理工具Pip
接触了Ruby,发现它有个包管理工具RubyGem非常好用,而且有非常完备的文档系统http://rdoc.info 发现Python下也有相同的工具,包含easy_install和Pip.只是,我没 ...
- 5、Python之包管理工具pip
pip提供我们各色各样的软件(第三方库),而这些第三方库又可以给我们实现各种各样不同的功能,科学计算.画图.操作文件.聊天-- 我们可以通过Cmd终端.Pycharm.Jupyter三种平台使用pip ...
随机推荐
- Django学习日记05_模板_模板语言
Variables 在模板中,使用两个大括号包含变量的方式来使用变量: {{ name }} 该变量应该作为键值对中的键,在Context中能被查找到. Tags 模板中使用Tags来进行简单的逻辑: ...
- Tomcat 到底依赖JRE还是JDK
Tomcat 6.0 以上可以不再依赖JDK运行,直接使用JRE即可,但Tomcat 5.5以下,是必须安装JDK的. 这主要是由于,Tomcat 5.5及以下版本主要是依赖JDK去编译JSP文件生成 ...
- React日常填坑手册(持续更新)
1.react中自己定义的组件第一个字母一定要大写,如<app />会不显示,<App />才能正常显示. 2.在react中点击事件里面setState时会使this重新定义 ...
- 【JavaScript 】for 循环进化史
ECMAScript 6已经逐渐普及,经过二十多年的改进,很多功能也有了更成熟的语句,比如 for 循环 这篇博客将介绍一下从最初的 for 循环,到 ES6 的 for-of 等四种遍历方法 先定义 ...
- MySQL 配置文件my.cnf
转载: MySQL配置文件my.cnf 详解:#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM ...
- [js高手之路] vue系列教程 - 绑定设置属性的多种方式(5)
一.设置属性的值: {{data中的数据}} window.onload = function () { var c = new Vue({ el : '#box', data : { url : ' ...
- CSS3 美女动画相框
把下面的内容放到一个body内,运行看一看:) <style> *{ margin:0; padding:0;} .bg1{ background-image:-moz-linear-gr ...
- HTML编码规范、CSS编码规范
HTML编码规范 IE 兼容模式 IE 支持通过特定的 标签来确定绘制当前页面所应该采用的 IE 版本.除非有强烈的特殊需求,否则最好是设置为 edge mode,从而通知 IE 采用其所支持的最新的 ...
- Windows上最大传输单元MTU值的查看和设置
最近使用ssh工具在VPN环境下连接一个生产环境的Linux主机的时候,发现经常出现输入命令后卡死的情况.最开始以为是Linux主机的问题,问了一些老同事之后发现原来是我自己电脑的最大传输单元MTU和 ...
- 嵌入式linux下wifi网卡的使用(二)——应用程序iw编译
首先编译iw,Iw支持两种加密/认证方式.第一种是OPEN/OPEN 第二种是WEP/WEP在网上下载iw源码,发现iw的编译需要依赖libnl库(这个库是为了方便应用程序使用netlink借口而开发 ...