分享

在DreamHost上安装python 2.5 - Yskin‘s Blog

 weicat 2007-01-31



在DreamHost上安装python 2.5

今天开始看书学python。虽然2005年10月就开始关注python了,还订阅了python邮件列表,但是一直没开始学。DreamHost自带python,输入python命令默认启动的是python 2.3.5。另外还有python 2.4.1可以用。我只是个初学者,知道新版本新增的内容都是我现在用不着的,知道哪怕N年前的python 2.2也够我用的了,不过总想弄个最新版来玩玩,嘿嘿。

找了《在dreamhost上安装自己的python》,又找到DreamHost文档-Python。照着一步一步安装。

安装步骤如下:

wget http://www./ftp/python/2.5/Python-2.5.tgz
tar -zxvf Python-2.5.tgz
cd Python-2.5
./configure --prefix=$HOME/lib --enable-unicode=ucs4
make
make install

首先用wget命令下载,然后tar命令解压,然后安装。DreamHost文档里的说明没有加--enable-unicode=ucs4,我查了一下,这个是表示python内部表示unicode的编码的方式为UCS-4,而非UCS-2。在这里查到,可以用sys.maxunicode命令检查当前python编译时使用的参数,返回1114111为--enable-unicode=ucs4,返回65535为--enable-unicode=ucs2。我看了一下,DreamHost的python 2.3和python 2.4都是ucs4,那么我也用ucs4吧。

python 2.5已经安装好了。如果想把python 2.5设置为默认版本,那么做下面的设置:

mkdir $HOME/bin
mkdir $HOME/bin/python
mkdir $HOME/bin/python/bin
ln -s $HOME/lib/bin/python $HOME/bin/python/bin/python

然后,在$HOME.bash_profile里加入一条:

export PATH=$HOME/bin/python/bin:$HOME/lib/bin:$PATH

重新载入配置文件:source ~/.bash_profile,再敲入python命令,显示:

Python 2.5 (r25:51908, Nov 23 2006, 19:51:08)
[GCC 3.3.5 (Debian 1:3.3.5-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

安装好了,现在我有4个python可以用:

[burns]$ python2.2 -V
Python 2.2.3+
[burns]$ python2.3 -V
Python 2.3.5
[burns]$ python2.4 -V
Python 2.4.1
[burns]$ python2.5 -V
Python 2.5

python 2.5向下兼容不知道怎么样。为了学python,找了vim中文文档看了一下,以便在shell里修改文件,免去ftp来ftp去的麻烦。不过好像python代码没有被自动Highlight啊,不是说vim支持代码高亮么?花了两个小时研究了下,最终知道该在.vimrc里加一句"syntax on",555~~用vim打开了C++,python,PHP代码看了一下,加亮的好难看呀...

昨天在V2EX看到有人问“python里怎么用unicode字符”。在网上查了一下,这事好像比较麻烦。Unicode的事我大概知道,找到这篇文章,大概看了一下,大意是说:python里,unicode是一种类型,上面安装时的--enable-unicode=ucs4参数就是把unicode类型设置为UCS-4编码格式。而string类型则是bit流,没编码类型的。这和PHP很象啊。他们之间的转换时,string会被指定一个默认编码方式,可以用sys.getdefaultencoding()函数看到。所以,要么设置python环境的默认编码方式,要么手工encode和decode。另外,源代码中的u‘字符串‘,在python console里,那个u并非函数一样可以把后面的字符串转换为Unicode编码,console里的字符串应该是不做转换,直接按字节设置成UCS-4。

>>> s=u‘xc9xab‘
>>> s
u‘xc9xab‘
>>> len(s)
2
>>> type(s)
<type ‘unicode‘>
>>> print s
色

而Windows的console里默认编码应该是CP936,所以在python console里直接用u‘字符串‘这样是不行的,print命令检测到这是一个unicode类型的变量,就会将其转换为CP936再显示出来。而py文件里的源代码,则可以在文件开头指定文件编码。对于u‘字符串‘,python会自动将其按照该编码方式转换为UCS-4,就像limodou所说的

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

另外还查到一句话:python在启动时会自动执行site.py这个程序,然后会自动将sys.setdefaultencoding这个方法删除。因此你可以通过reload(sys),然后就可以使用了。[via]

So,和WordPress一样,python文件还是尽量用UTF-8编码的好。

Update:今天想用python timeit.py来计算python程序运行时间,研究了半天,还是用time命令,看中间的user项的执行时间最好。 又用了一条命令:

ln -s $HOME/lib/bin/python $HOME/bin/python/bin/py

这样,直接输入py就可以运行python啦。阿土伯说,“懒人有懒福”

Update2:原来可以用alias做别名,具体方法是在.bash_profile文件里加上下面的代码:

alias py="python"
alias ls="ls --color -F"

修改好以后,下次登陆bash就可以生效,或者用source ~/.bash_profile使它立即生效。第一条设置pypython的别名,第二条设置ls命令自动加颜色显示,如此甚是方便呀。

7 回应 to “在DreamHost上安装python 2.5”


  1. 1 ZWQ 2006-11-25 11:42 am

    在你的rc里加这几句
    syntax enable
    se ruler
    se number
    colo darkblue
    filetype on
    se helplang=cn
    language en
    然后再remap jj 为

    happy vimming!

  2. 2 小明 2006-11-25 7:33 pm

    你还是什么都搞搞啊

  3. 3 nonozone 2006-11-26 8:53 pm

    呵呵,最近我也在学习python呀,只是觉得一边学习linux一边学一门语言比较好,都说python简单,可是看来python基础学习后面脚本就有点不懂了。正准备买书呢。

  4. 4 kevin 2006-11-28 10:01 am

    写得挺不错,很仔细

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多