virtualenv的使用及pip常用命令
一、virtualenv
1、用途:
virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境。用virtualenv 来保持一个干净的环境非常有用。
例如当你想创建一个爬虫项目的时候,可能会用到request, urlib,beatuifulsoup解析等第三方包。但是又想做网站建设时,可能会用到其他的第三方库如whoosh做全文检索,django或flask等框架搭建网站,这是如果你的计算机上只有一个python环境就会十分头疼,因为这个环境会安装全部的第三方库。这虽然能够正常运行你的项目,但是做一个单独的项目需要的是一个纯净的专属于这个项目的环境。这样做能够避免很多版本不同和依赖上出现的问题。
2、基本使用
- pip安装:
pip install virtualenv
- 测试安装是否成功及检查版本:
virtualenv --version
- 进入项目工作目录:
cd my_project
- 创建虚拟环境 :
virtualenv my_project_env
- 指定python解释器创建虚拟环境(如果计算机中有多个Python解释器):
创建虚拟环境的过程会等待一段时间,因为需要拷贝一些必要的文件到虚拟环境工作目录,不过已经安装到系统Python环境中的所有第三方包都不会复制过来,这才会有纯净的虚拟环境。virtualenv -p /usr/bin/python2.7 my_project_env
- 激活虚拟环境:
source my_project_env/bin/activate
- 停止虚拟环境:
deactivate
二、virtualenvwrapper
1、用途
提供了一系列命令使得和虚拟环境工作变得愉快许多。它把您所有的虚拟环境都放在一个地方。
- 将您的所有虚拟环境在一个地方。
- 包装用于管理虚拟环境(创建,删除,复制)。
-
使用一个命令来环境之间进行切换。
也就是说virtualenvwrapper提供了一个更好的管理多个虚拟环境的方式,但是如果你只是打开别人的项目使用的话(如从github下载),仅使用virtualenv就够了。
2、安装:
pip install virtualenvwrapper
export WORKON_HOME=~/Envs #设置环境变量
mkdir -p $WORKON_HOME #创建虚拟环境管理目录
find / -name virtualenvwrapper.sh #找到virtualenvwrapper.sh的路径
source 路径 #激活virtualenvwrapper.sh
默认virtualenvwrapper安装在下面python解释器中的site-packages,实际上需要运行virtualenvwrapper.sh文件才行;所以需要先进行配置一下:
- 找到virtualenvwrapper.sh的路径:
find / -name virtualenvwrapper.sh
- 运行virtualenvwrapper.sh文件:
source 路径
ps:每次要想使用virtualenvwrapper 工具时,都必须先激活virtualenvwrapper.sh,另外,如果创建前要将即将的环境保存到Envs中,就要先设置一下环境变量:export WORKON_HOME=~/Envs,再搭建。
如果是window用户更加简单:使用 virtualenvwrapper-win 。
安装:
在Windows中,WORKON_HOME默认的路径是 %USERPROFILE%Envs 。pip install virtualenvwrapper-win
3、基本使用
- 创建一个虚拟环境:
这会在 ~/Envs 中创建 my_project 文件夹。mkvirtualenv my_project
-
选择虚拟环境:
workon my_project
-
创建
或者,您可以创建一个项目,它会创建虚拟环境,并在 $WORKON_HOME 中创建一个项目目录。 当您使用 workon myproject 时,会 cd -ed 到项目目录中。
mkproject myproject
-
tab补全
virtualenvwrapper 提供环境名字的tab补全功能。在许多环境下, 使用tab补全很有用。
- 查看虚拟环境
workon
- 停止虚拟环境:
deactivate
- 删除虚拟环境:
rmvirtualenv my_project
4、其他
lsvirtualenv #列举所有的环境。
cdvirtualenv #导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages。
cdsitepackages # 和上面的类似,但是是直接进入到 site-packages 目录中。
lssitepackages #显示 site-packages 目录中的内容。
三、pip
- 升级pip
pip install -U pip
- 列出已安装的包
pip freeze or pip list
- 导出当前环境安装包名到requirements.txt
pip freeze > requirements.txt
- 在线安装(在安装的时候也可以指定版本,通过使用== >= <= > <来指定版本)
pip install <包名> 或 pip install -r requirements.txt
- 安装本地安装包
pip install <目录>/<文件名>
- 卸载包
pip uninstall <包名> 或 pip uninstall -r requirements.txt
- 升级包
pip install -U <包名>或:pip install <包名> --upgrade
- 显示包所在的目录
pip show -f <包名>
- 搜索包
pip search <搜索关键字>
- 查询可升级的包
pip list -o
- 下载包而不安装
pip install <包名> -d <目录> 或 pip install -d <目录> -r requirements.txt
- 打包
pip wheel <包名>