pypy的安装及使用介绍

转自:html

http://www.cnblogs.com/anpengapple/p/5586678.html
python


在作python开发的人,应该或多或少的据说过一点pypy吧。我猜。因此就不作背景介绍了,有不懂的同窗能够看看这里:git

一、什么是pypy: http://www.360doc.com/content/15/0625/08/13232598_480502243.shtml (简单总结一下就是:pypy是一种python的解释器,比标准的cPython要快不少。可是并不支持全部的cPython库,有一些特殊的包用不了)github

二、为何pypy比python快: https://www.zhihu.com/question/19588346 (简单的总结一下就是:有个东西叫JIT,能够动态编译)服务器

这里只是简单介绍一下如何安装及使用。百度了一下资料有点残(固然也多是由于百度比较残),仍是把本身使用的过程记录一下。app

 

pypy官网 http://pypy.org/ 里面有各类版本,有源码, 编译好的二进制,还有适合不一样操做系统的。建议下载带JIT的版本(废话,要否则用pypy干吗)。奇葩的是我这里下载不了,就找同事要了一份编译好的版 本。放在某目录中,假设此目录名为{pypy_dir},进入{pypy_dir}/bin/目录以后,用 ln -s 命令在/usr/bin中创建一个软连接。这样就能够把pypy当作命令来使用了。若是是源码版本,目录中有makefile文件,能够直接 sudo make & make install。这样就算安装好了(理论上源码是这样安装的啊,不过我并无实际尝试)。ide

能够写个程序来测一下速度:工具

import time
t = time.time()for i in xrange(10**8):    continueprint time.time() - t

用cpython来测试,用时5.41043996811s,而pypy测试用时只有0.337416887283s。测试

 

。。。我彷佛忘了一件重要的事:pypy的程序跟通常的python是同样的,代码不须要有什么改动。执行的时候,标准python用python xxx.py来执行,而pypy用pypy xxx.py就行了,没有区别。操作系统

效果截图:

 

可是,仅仅执行标准python是远远不够的。python自己有个很是大的优点就是第三方库,想要什么几乎都有人写好了,为pypy的速度而 抛弃这样的资源有点惋惜。那么在pypy下能使用第三方库吗?固然能,不过pypy跟python是相互独立的,python中安装好的库在pypy中是 不能使用的。so,咱们须要安装pypy版本的pip。网上找到一份代码,能够方便的执行安装,我把它存在了个人github上: https://github.com/anpengapple/pypy_get_pip (因为代码比较大,上M了,github上无法显示,能够下载下来看)。只须要这段pypy代码,用 pypy get-pip.py 来执行,就能够安装setuptools,pip等工具了。装好以后能够看到{pypy_dir}/bin目录中多了pip等几个可执行文件。

如今就可使用 {pypy_dir}/bin/pip install xxx 来安装第三方库了。须要注意的是,第三方库并不能彻底支持。不过大部分都是能够的。至少我如今用到的dnslib,pydns,gevent都没有问题。而个人DNS服务器也由于pypy而顺利的速度提高了4倍。

鹅妹子嘤!

分类: Python

标签: pypy