We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Python 是一款直译式脚本语言,支持包括 Linux、Mac OS X 和 Microsoft Windows 在内的多种平台。

学习 Python

免费的电子书

 如果你是个初学者,可以考虑看看 Dive Into Python 。虽然它最后更新的时间是2004年,但依然是一部免费而且很棒的教程。 它含括了几乎所有Python 的基本元素,还有一些平常使用 Python 可以执行什么任务,像是对 Web 请求和文件的处理。如果对于 Python 已经有了基本的概念,就可以考虑看看 Text Processing In Python,这本书对于 Python 有着更进阶的介绍。

还有其他免费的电子书和在线资源可供参考:

译者注:如果有发现其他中文教程,欢迎编写本页来分享

当你对这款语言有了基础的认识后, Code Like a Pythonista: Idiomatic Python 将帮你了解 Python 的一些特别之处,以及和其他语言的区别。

免费在线课程

Python 也用在了基于 Mozilla 的应用程序中

XPCOM 在 Mozilla 中用于支持跨语言通信(inter-language communication)。它仅原生支持 C++ <-> JavaScript 的交流。 Python 的 XPCOM 组件(也叫做 PyXPCOM)是将 Python 和 Mozilla 粘合在一块的低级别胶水(the low-level glue),使得用 JavaScript 或 C++ 编写的 XPCOM 组件既可以通过 Python 使用,反之亦然。PyXPCOM 并不默认包含在 Firefox 构建版本中,因此你须要使用第三方构建版本或自己构建一个版本来使用它。PyXPCOM中最知名的消费者是Komodo系列的产品。 

从Mozilla 1.9版本开始就已经支持 (PyDOM) 。 这也让chrome 的XUL 和 HTML 作者在他们的 <script> 标签中使用python(再一次声明,官方版本的Firefox和Thunderbird版本还不支持)。

Mozilla中基于Python的开发者工具

Python已经被众多Mozilla开发者应用于大量的app和框架中。更多信息请参考Python Environment and Tools for Mozilla.

工具列表在这里: http://k0s.org/toolbox/?language=python

Mozilla中Python的使用

Mozilla有大量的基于python的框架,包括:

Mozilla-Central的Python身影

[参考网址://bugzilla.mozilla.org/show_bug.cgi?id=835553]

在Mozilla-Central很多的正式版本,测试版本以及其他的框架和工具都是使用的python

  • python/ 包含了通用的python代码,包括第三方镜像打包文件比如:pypi.python.org
  • testing/mozbase/ 包含了Mozbase 中用于mozilla-central的镜像打包文件

一个虚拟化环境(virtualenv)包含在调用$OBJDIR/_virtualenv 版本的objdir 时 . 为了封装到虚拟环境中, 可编辑build/virtualenv_packages.txt . 这里有安装好了的版本 build/virtualenv/populate_virtualenv.py .

Python的封装

Python使用setup.py 来记录元数据和python包(python packages)的安装。运行 (e.g.) python setup.py install 将安装打包文件以及使python's import path中的模块可用。对python 2.x来说, 有几种不同的分布式或安装式模块存在,distutils 只在python标准库( python's standard library)的分布式封装中可用, distutils 可以上传到python封装索引python package index 并且安装python包。详情请参阅Python documentation on distutils

当 distutils 已经被加入python标准库中后, 初始化工具 setuptools是一个为封装和分发的第三方的特设标准。它几乎完全兼容distutils,但是却非常关键的使封装文件具有“依赖关系”include dependencies 的能力,可以在setup.py 被调用的时候作为预置条件安装,同时也有了在开发者模式development mode下安装python包的能力. 这使得文件能通过 .pth files来编辑,这对于积极工作的人来说非常容易上手。 setuptools 也提供了一个通过 PyPI来快速安装打包文件和依赖关系的脚本easy_install 。比如安装 PyYAML包,运行

easy_install PyYAML

因为 setuptools 没有被包含在python中,你需要对其进行安装,你可以去到PyPI主页去下载setuptoolsi,然后解压,在目录下运行python setup.py install ,你也可以使用快速安装脚本ez_setup.py来进行安装,你可以在拥有root权限或管理员权限的python环境中下载和安装,或者在 bash shell中运行

sudo python <(curl http://peak.telecommunity.com/dist/ez_setup.py)

setuptools 也提供了一个虚拟环境virtualenv, 所以如果你想使用虚拟环境来开发,你不需要全局安装setuptools ,distribute是一个Mozilla大佬 Tarek Ziade 在setuptools 的一个,它完全兼容setuptools,并修复了一些bug。

注意: 非常建议你使用虚拟环境virtualenv来开发

python包索引Python Package Index (PyPI) 是一个标准的python打包文件的分发点。如果你需要查找一些python的功能,这是一个很好的查询的地方。

参阅: http://k0s.org/portfolio/packaging.html

参阅:

文档标签和贡献者

标签: 
此页面的贡献者: JiangLirui, xcffl
最后编辑者: JiangLirui,