初步安装、使用PyPy

最近一周,一直在琢磨着怎么提高python的运行效率,前几天还写了一篇关于提高运行效率的博文,有兴趣的可以去看看,地址如下:http://11026142.blog.51cto.com/11016142/1858568

这些都是从Python语言本身的角度提高优化代码来提高效率,看过几本Python教材、也看过网上的一些优秀博文,都说PyPy是Python的未来,是提高python运行效率的终极杀器,今天上午闲来无事,决定也来了解一下这个杀器。首先是在网上查资料大概了解一下PyPy是什么东西,在这里我就不过多介绍,网上有资料。这里主要介绍PyPy的安装、使用以及如何为PyPy安装第三方包。申明:所有系统是ubuntu 16.04 LTS

(一)安装

用linux命令安装,如下:

sudo add-apt-repository ppa:pypy/ppa
sudo apt-get update
sudo apt-get install pypy pypy-dev

当然 也可以去官网下载压缩包,解压缩后就可以运行了,没试过,在此不叙述。(其实先开始是计划通过压缩包这种方法来安装的,无奈住的地方网上太慢,而且经常下载到百分之二十左右的时候就提示“禁止访问”或者“连接断开”,无奈放弃了,等有时间在公司的电脑上用这种方法安装吧,之后在补上)

如何安装成功的话,打开终端,输入pypy,会有如下类似的提示:

上面有提示:PyPy 5.4.1,表示安装成功。

(二)为PyPy安装第三方包

打开pypy的安装目录,我的电脑/usr/lib/pypy/下,(不同的系统可能会有差异,如果你的不在该目录下,可以在本地搜索‘pypy‘,应该也很容易找到)。打开该目录,里面有个dist-packages包,刚开始,包里有个README文件,打开该文件,里面有这样一段话:

This directory exists so that 3rd party packages can be installed

here.  Read the source for site.py for more details.

这说明该目录下是存放pypy的第三方包的。

然后我做了一个实验,看下图

看明白了吗?因为我之前没安装pypy时,在本地的python环境中已经安装了django,我就想能不能吧这个django直接拷贝到pypy安装路径的/usr/lib/pypy/dist-packages/  包里,看能不能运行,结果是可以的,这是一种笨办法吧,要为pypy安装第三方包,还是要用到安装神器pip,那么怎么在pypy下安装pip呢?

回想下,python环境中怎么安装pip,其实都是一样的

去官网下载安装包,然后解压,再讲解压后的包拷贝到/usr/lib/pypy/dist-packages/ 下,解压后的pip包里有个setup.py文件,执行命令pypy setup.py install即可完成安装。

命令如下:

下载安装包:

wget https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a
--2016-10-06 15:51:17--  https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-8.1.2.tar.gz

解压安装包:

tar -xzvf pip-8.1.2.tar.gz

(注意路径,每个系统设置的默认下载路径不同)

将解压后的pip文件夹copy到/usr/lib/pypy/dist-packages/ 下

cp -r /home/liulonghua/pip-8.1.1/ /usr/lib/pypy/dist-packages/

cd到该目录下,执行如下命令:

pypy setup.py install

那就基本安装成功了。看看我安装时的效果。

上图是下载安装包,解压可以用tar命令,也可以用解压工具。

上图是将pip解压包拷贝到/usr/lib/pypy/dist-packages/,但是我还没有安装就急着安装requests包,结果报错,提示No module name pip,然后我cd到相应目录下,执行命令pypy setup.py install,但是安装失败?为什么呢?因为权限不够,要用root身份安装才行,看下图。

然后我切换到root身份,在执行安装命令,安装成功了。

注意:为了区分python和pypy,pypy的脚本都是用pypy来执行的。

下面来测试下安装requests包。

命令很简单,pypy环境下用pip安装包命令如下:

pypy -m pip install package

如果报错,可能是权限问题,加个sudo即可,即sudo pypy -m pip install package

如果想卸载安装包的话,用

pypy -m pip uninstall package

(三)pypy初步使用

pypy的优势就是运行效率高,看个简单的例子吧

代码如下:

#coding=utf-8
import time
def test(n,m):
    m=m
    vals = []
    keys = []
    for i in xrange(m):
        vals.append(i)
        keys.append(‘a%s‘%i)
    d = None
    for i in xrange(n):
        d = dict(zip(keys, vals))
    return d

st = time.time()
print test(1000000,100)
print ‘use:‘, time.time() - st

先在python2.7上运行,结果如下:

再在pypy环境下运行,结果如下:

我用的IDE是pycharm,切换环境也很方便,对vim用的还不是很熟练,所以还登不了大雅之堂,哈哈,今天就讲到这里,这只是记录了一些我初探pypy的经验,以后有更好的学习经验会和大家分享,不正之处,恳请批评指正。

时间: 2024-12-14 18:07:41

初步安装、使用PyPy的相关文章

ubuntu 下初步安装配置apache2

linux下安装配置apache server.(非管理员命令,顾在绝大部分命令前加:sudo) 先是尝试了一下,直接命令行下,敲入命令: sudo apt-get install apache2 就能安装.去到官网,说可以直接下载源码编译安装的.但是这里没有尝试(因为已经用apt装好啦-). 用apt安装好的apache,默认将配置文件放在/etc/apache2/ 下. http页面默认放在/var/www/ 下. 启动停止脚本为: /etc/init.d/apache2 因此: 启动命令为

LeanCloud C++ SDK初步安装测试记录(2)

在我的上一篇文章(1)中,在进行到build and install cpp-netlib部分的下列命令时: cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ 出现错误提示,如下图所示: 意思非常明显:系统还没有安装OpenSSL库. 我立即执行如下命令: openssl version 结果如下: OpenSSL 0.9.8zg 14 July 2015 说明系统变量O

Redis的初步安装

Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 下载 官网下载:http://redis.io/download 安装 tar zxvf redis-2.8.9.tar.gz #解压 cd redis-2.8.9 #进入目录 make #直接make 编译 make install #可使用root用户执行`make install`,将可执行文件拷贝到/usr/local/bin目录下,这样就可以直接敲

Junit与Eclemma的初步安装与使用

一.junit和hamcrest安装及引入 首先进入网址http://junit.org/junit4/下载junit及hamcrest .其次打开Eclipse新建一个名为lab1的项目,然后右键点击build path 引进junit就行了.如图: 之后是安装eclemma: 首先点击eclipse中的help 选定help中的 Marketplace 之后在find 中搜索 eclemma 再进行安装就行. 之后编写程序 之后生成junit junit内容 之后再运行junit 运行ecl

wiki的初步安装,破解和汉化

   这几天把公司的wiki迁移还原到本地服务器,以下是confluence的安装方法: 软件介绍: AtlassianConfluence(简称Confluence)是一个专业的wiki程序.它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知识共享.Confluence不是一个开源软件,非商业用途可以免费使用. Confluence使用简单,但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息,文档协作,集体讨论.目前,Confluence被用于广泛地用于项目团队,开发团队,市场

locust框架(初步安装使用)

首先安装locust(利用pip安装) 安装前先将pip更新到最新版: python -m pip install --upgrade pip 更新完成后开始安装locust: python -m pip install locust 再安装request: python -m pip install requests 安装完成后切换到<测试脚本>所在目录,启动性能测试: locust -f E:\Automation_performance_locust\load_test.py(脚本路径)

01.Nginx初步安装配置

1.切换163yum 源,环境介绍 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.5 (Final) mv CentOS-Base.repo CentOS-Base.repo.bak#养成备份的习惯,对一个重要文件修改之前备份 wget http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo CentOS-Base.re

Docker(1)之初步安装Docker

一.环境选择 1.操作系统,选择Ubuntu 16.04.5 LTS 镜像下载地址(这时我在别人博客找到的):http://mirror.pnl.gov/releases/xenial/ 2.管理工具,Docker Engine 3.runtime -runc (Docker默认) 4.Docker版本, Docker CE,因为这个是开源免费的社区版.Docker还有一个收费的Docker EE,企业收费版本 二.安装过程 1.删除系统内部旧版本的Docker(可能会有) $ sudo apt

PostgreSQL 初步安装

服务器:centos 客户端:windows(pgAdmin) 1.服务器yum安装 地址:https://www.postgresql.org/download/linux/redhat/ 选择对应要安装的版本,服务器版本后自动会给出地址 dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm dnf -qy module