pip安装

1.概要
当python的包多了以后,你会发现一个个去下载然后安装挺麻烦的,耗时耗力。java里面有maven,ivy来帮你管理jar包,而类似的python里有pip来完成这个任务。

2.pip安装
环境:
win7
cygwin

2.1 第一次需要去下载 get-pip.py
https://pip.pypa.io/en/latest/installing.html

2.2 安装
$ python2.7 get-pip.py
Downloading/unpacking pip
  Downloading pip-1.5.6-py2.py3-none-any.whl (1.0MB): 1.0MB downloaded
Downloading/unpacking setuptools
  Downloading setuptools-7.0-py2.py3-none-any.whl (534kB): 534kB downloaded
Installing collected packages: pip, setuptools
Successfully installed pip setuptools
Cleaning up...

安装完后会发现
C:\cygwin64\bin目录下多出来pip以及easy_install命令
C:\cygwin64\lib\python2.7\site-packages目录下多出来pip以及easy_install

2.3 确认版本
$ which pip
/usr/bin/pip

$ pip -V
pip 1.5.6 from /usr/lib/python2.7/site-packages (python 2.7)

2.4 查看已安装的包
$ pip list
pip (1.5.6)
setuptools (7.0)
wsgiref (0.1.2)


3. 包在哪里
我们知道,java里面想用啥jar包,可以去search.maven.org查找。
相应的,python也有个网站 pypi
上去查看,有着丰富的包。本文写作时上面的包居然已经达到了5万多个!
不过python和java比还是小巫见大巫了,上 http://mvnrepository.com/上面看java的包更是多的瞠目结舌,80万个!!!

扯个淡:
感谢开源,可以让我们学无止境。。。
5万个python包,一天学一个,要学100多年才能学完。。。
80万个java包,一天学一个,要学2000多年才能学完。。。

4. 镜像指定
国内用户恐怕去这个网站下载包会很慢。
和maven类似,也可以指定一个国内镜像加快下载速度。具体方法如下。

建立文件 ~/.pip/pip.conf
对应到windows的目录是
C:\cygwin64\home\<user>\.pip

新建目录
$ mkdir .pip

新建pip.conf
[global]
index-url = http://pypi.douban.com/simple


我们这里选择了豆瓣作为镜像。也可以上 这个网址查看更多的镜像。

5. 安装包
好了,以后你需要什么包,就上pypi网站查询就是了。查好以后输入pip install命令就可以安装这个包了。具体格式如下:
pip install SomePackage            # latest version
pip install SomePackage==1.0.4     # specific version

6. pip实战——安装使用pytidylib

我们准备通过python的库重做一下前面一篇文章提到的tidy功能。
上pypi网站查询可以发现pytidylib包。

然后输入以下命令即可安装。
$ pip install pytidylib

确认一下pytidylib是否装好
$ pip list
pip (1.5.6)
pytidylib (0.2.3)
setuptools (7.0)
wsgiref (0.1.2)

顺便提一下,一般包都会被安装到C:\cygwin64\lib\python2.7\site-packages目录下。

OK啦,写个代码测试下吧
from tidylib import tidy_document
f = open('bad.html')
content = f.read()
f.close()
document, errors = tidy_document(content, options={'numeric-entities':1})
print document


运行结果和上一篇文章直接用subprocess调用tidy命令行的一模一样。

猜你喜欢

转载自xpenxpen.iteye.com/blog/2160394
今日推荐