学习搭建Python环境

写了好多年的PHP代码,不免有些许的厌倦,是时候学一门新语言了,这就好比对男人来说,家里的女人看得久了,新鲜感荡然无存,自然想纳几房小妾,不过对于身处河东狮吼险境的我而言,此等美梦注定遥不可及,还是老老实实学编程吧,想当年我还像模像样的学过Python,可惜没坚持下来,希望这次能行。

闲言碎语不要讲,表一表Python的安装,操作系统为CentOS,因为版本旧,加之已经包含了Python-2.4.3,所以我换了一个路径安装了Python-2.7.5,目前此版本比较通用:

shell> wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
shell> tar zxvf Python-2.7.5.tgz
shell> cd Python-2.7.5
shell> ./configure --prefix=/usr/local/Python-2.7.5
shell> make
shell> make install

下面看看包管理工具,原本流行的是setuptools,不过现在它已经被distribute取代,除此以外,easy_install也已经被pip取代,下面让我们看看如何安装:

shell> wget http://python-distribute.org/distribute_setup.py
shell> /usr/local/Python-2.7.5/bin/python distribute_setup.py
shell> /usr/local/Python-2.7.5/bin/easy_install pip

更新:风水轮流转,目前 setuptools 和 distribute 已经合并,以后只有 setuptools 了,而且前面的 python-distribute.org 域名已经掉了,所以最新安装 easy_install 方式如下:

shell> wget https://bootstrap.pypa.io/ez_setup.py -O - | python

更新:以上安装 pip 的方法都过时了,现在用 get-pip.py 来安装。

既然是学习搭建Python环境,那么virtualenv是必须安装的,简单点说,它允许我们创建若干套隔离的Python运行环境,具体介绍可以参考奇虎的文章,让我们安装它:

shell> /usr/local/Python-2.7.5/bin/pip install virtualenv

接下来创建一个完全独立的Python环境FOO:

shell> /usr/local/Python-2.7.5/bin/virtualenv FOO

再看看如何进入环境和退出环境:

shell> source FOO/bin/activate
shell> deactivate

此环境已经包含了pip,通过它安装的程序只存在于自己的环境里,不会污染别人。

怎么样?很好用吧!还能更好用,不过需要借助virtualenvwrapper,通过pip安装,它对virtualenv做了一个包装,一个典型的配置如下:

export WORKON_HOME=/path/to/home
export VIRTUALENVWRAPPER_PYTHON=/path/to/python
export VIRTUALENVWRAPPER_VIRTUALENV=/path/to/virtualenv

source /path/to/virtualenvwrapper.sh

注意:使用virtualenv后,系统里会存在多套Python环境,并且不是通常的缺省路径,所以这就要求我们在写脚本的时候不要使用绝对路径,而应该使用env来增强通用性:

#!/usr/bin/env python

此外,使用virtualenv安装的Python环境都是相同版本的,如果你想安装不同版本,可以考虑使用其他应用,比如:pythonbrewpyenvpythonz等等。

希望早日拿下Python,接着搞定Perl,再加上PHP,成就我的3P伟业。

学习搭建Python环境》上有8条评论

  1. Python rocks 🙂

    Arch Linux 使用的配置参数是:
    ./configure –enable-shared –with-threads –with-computed-gotos –enable-ipv6 –with-valgrind –with-wide-unicode –with-system-expat –with-system-ffi
    Python 3.3 以前的 Unicode 支持分两种,–with-wide-unicode 更全一些(不过没有也应该不会像 Ruby 那样出严重的问题)。–enable-shared 好像是嵌入 Python 解释器的程序需要的。

    另外,部分版本使用 make altinstall 时不会覆盖 python 这个文件(只有 python2.7 之类带版本号的可执行文件)。

  2. 以前也是一直用PHP,换了公司后,用PHP写后端脚本觉得实在太无聊,就拿python练手,感觉也还不错,在与系统结合方面比PHP还要方便一些。还拿python写了个SVN发布脚本,比开发WEB发布系统实在是效率高多了。

  3. centos的话,如果想要替换,还需要修改/usr/bin/yum
    以原有默认安装为python2.4为例
    将#!/usr/bin/python更改为#!/usr/bin/python2.4
    并替换/usr/bin/python和/usr/bin/python-config

    python用起来确实很舒服

  4. Pingback引用通告: 实战Sentry | 火丁笔记

  5. Pingback引用通告: 实战Sentry

发表评论

电子邮件地址不会被公开。 必填项已用*标注