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

相關文章
相關標籤/搜索