Python (简体中文)
| 概述 |
|---|
| 本文介绍如何配置和安装 Python |
| 相关 |
| Python Package Guidelines |
| mod_python |
| Python VirtualEnv |
Python 是非常强大的动态语言,应用领域非常广,是 Tcl, Perl, Ruby, Scheme 或 Java 外的一个好选择。
Contents |
安装
目前有2个版本的Python, Python 3 是默认的,Python 2 是较老版本。
Python 3
Python 3 是语言的最新版本,而且不兼容 Python 2。语言. 语法基本上差不多,但是很多细节,尤其是一些内置对象,像字典和字符串,它们的工作方式已经改变了,一些不推荐使用的特性最终被移除了。同样,标准库也进行了整理。所有差别的列表,请访问 Python2orPython3 和 Dive into Python 3 的相关 章节。
要获得 Python 3,请从官方软件仓库中安装 软件包 python 。
要从源代码编译测试版,请访问 Python 下载。AUR 中同样包含 PKGBUILDS 。如果要安装 RC 版,请注意二进制文件默认安装到 /usr/local/bin/python3.x.
Python 2
要获得 Python 2,请从官方软件仓库中安装 软件包 python2 。
Python 2 可以和 Python 3 同时运行,需要指定成python2才会运行此版本。
所有要求使用 python 2 的软件包应该用 /usr/bin/python2 替换 /usr/bin/python.
用文本编辑器打开程序或脚本,将第一行:
#!/usr/bin/env python
或
#!/usr/bin/python
中的 python 替换为 python2。
另一种强制使用 python2 而不修改脚本的方法是明确地使用 python2 调用它,即
python2 myScript.py
最后,你可能无法控制脚本调用哪一个,但还有一种方法。它仅在脚本使用 #!/usr/bin/env python 时有效,在用 #!/usr/bin/python 时无效。这种手法依赖于 env 在 PATH 变量中搜索第一个对应的条目。
首先创建一个目录。
$ mkdir ~/bin
然后添加一个名为 'python' 的链接指向 python2。
$ ln -s /usr/bin/python2 ~/bin/python
最后把新的目录添加到你的 PATH 变量的 最前面。
$ export PATH=~/bin:$PATH
注意到这个修改不是永久的,仅在当前终端会话中有效。
要检查 env 使用的是哪个 python 解释器,使用以下命令:
$ which python
正确设置编译脚本中的 Python 版本
许多项目的编译脚本认为 python 是 Python 2,如果这样编译会导致错误 - 例如 print 'foo' 是错误语法。幸运的是,很多编译脚本会使用 $PATH 中的python 而不是写死 #!/usr/bin/python,而且 Python 脚本都位于项目树中。所以,可以不修改脚本就解决此问题,只需创建/usr/local/bin/python:
/usr/local/bin/python
#!/bin/bash
script=`readlink -f -- "$1"`
case "$script" in
/path/to/project1/*|/path/to/project2/*|/path/to/project3*)
exec python2 "$@"
;;
esac
exec python3 "$@"
其中 /path/to/project1/*|/path/to/project2/*|/path/to/project3* 是用| 分隔的项目匹配列表。
给脚本执行权限:
# chmod +x /usr/local/bin/python
完成后,指定的项目就会以 Python 2 运行脚本了。
集成开发环境
官方软件仓库中有一些 Python 集成开发环境。
Eclipse
Eclipse 通过PyDev扩展同时支持 Python 2.x 和 3.x 系列。
Eric
兼容 Python 2 的 Eric 4:安装 软件包 eric4。
它们也能处理 Ruby。
Ninja
Ninja IDE 的软件包为 ninja-ide.
Spyder
Spyder (以前叫 Pydee) 是一个强大的 python 交互开发环境,具有高级编辑、交互测试、调试和检查功能。专注于科学计算,提供了与 matlab 相似的环境。可以通过软件包 spyder 进行安装。
获取 easy_install
easy_install 工具位于软件包 python-distribute 或 python2-distribute.
部件绑定
有如下部件工具的绑定:
- pyQt — Qt 绑定
要和 Python 一同使用,需要先安装相应的组件。
旧版本
AUR中有之前发布的 Python 版本,运行旧程序或测试程序的版本兼容性时可以使用:
- python15: Python 1.5.2
- python16: Python 1.6.1
- python24: Python 2.4.6
- python25: Python 2.5.6
- python26: Python 2.6.8
- python30: Python 3.0.1
- python31: Python 3.1.5
- python32: Python 3.2.3
2012年12月,Python 上游仅支持 Python 2.6, 2.7, 3.1, 3.2, 和 3.3 的安全修复,老版本有安全隐患,不建议使用。AUR 中还有老版本使用的模块和库,可以通过带版本的 python 搜索。例如 "python26" 关键字可以搜索支持 2.6 的模块。
更多资源
- Learning Python is one of the most comprehensive, up to date, and well-written books on Python available today.
- Dive Into Python 是极好的(免费)资源,但是可能更适合高级读者,且已经升级为 Python 3。
- A Byte of Python 适合新接触Python(以及编写脚本)的读者阅读。
- Learn Python The Hard Way 最好的编程入门书。
- facts.learnpython.org 学习 python 的好网站。
- Crash into Python 也被称为3小时认识 Python,向其它编程语言的程序员介绍 Python。
- Beginning Game Development with Python and Pygame: From Novice to Professional 是游戏方面的书籍。
For Fun
从 Python 的交互 shell 运行:
>>> import this
>>> from __future__ import braces
>>> import antigravity