Python开发工具goPy、pythonz、llvmpy、numba介绍

以下为你介绍的Python开发工具都可用在Linux系统上:goPy(Go 语言编写 CPython 扩展)、pythonz(Python 安装管理器)、llvmpy(Python 的 LLVM 封装)、numba(通过 LLVM 加速 Python)。

1、goPy(Go 语言编写 CPython 扩展)

goPy 是一个新的开源项目,实现了用 Go 语言来编写 CPython 扩展。

示例代码:

package simple

import (

"fmt"

"gopy"

)

func example(args *py.Tuple) (py.Object, error) {

fmt.Printf("simple.example: %v\n", args)

py.None.Incref()

return py.None, nil

}

func init() {

methods := []py.Method{

{"example", example, "example function"},

}

_, err := py.InitModule("simple", methods)

if err != nil {

panic(err)

}

}

编译方法:

> gopy pymodule.go

使用方法:

import simple

simple.example("hello", {123: True})

输出结果:

simple.example: [hello map[123:true]]

支持哪些版本的Python?

目前仅支持Python 2.7。注意:python2.6分支上当前提供了对python 2.6的支持。

下载地址:https://github.com/qur/gopy

2、pythonz(Python 安装管理器)

pythonz 是一个 Python 安装管理器,支持 CPython、Stackless、PyPy 和 Jython。

安装:

建议下载和安装pythonz的方法是在您的shell中运行以下语句:

curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

或者:

fetch -o - https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

之后,pythonz会将自身安装到~/.pythonz。

请在您的~/.bashrc末尾添加以下行:

[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc

如果您需要将pythonz安装到其他地方,可以通过设置PYTHONZ_ROOT环境变量来实现:

export PYTHONZ_ROOT=/path/to/pythonz

curl -kLO https://raw.github.com/saghul/pythonz/master/pythonz-install

chmod +x pythonz-install

./pythonz-install

使用示例:

pythonz install 2.7.3

pythonz install -t stackless 2.7.2

pythonz install -t jython 2.5.2

pythonz install -t pypy --url https://bitbucket.org/pypy/pypy/downloads/pypy-1.8-osx64.tar.bz2 1.8

pythonz install --verbose 2.7.2

pythonz install --configure="CC=gcc_4.1" 2.7.2

pythonz install --url http://www.python.org/ftp/python/2.7/Python-2.7.2.tgz 2.7.2

pythonz install --file /path/to/Python-2.7.2.tgz 2.7.2

pythonz install 2.7.3 3.2.3

帮助信息:

pythonz help

下载地址:https://github.com/saghul/pythonz

3、llvmpy(Python 的 LLVM 封装)

Python开发工具goPy、pythonz、llvmpy、numba介绍

llvmpy 是使用 LLVM C++ 库的 Python 封装,可简单访问编译工具,一般用于:

动态创建 LLVM IR for linking with LLVM IR produced by CLANG or dragonegg。

使用 LLVM 执行引擎动态构建机器码。

和 PLY 一起使用,可用 Python 来写一个完整的编译器。

该软件包已经过LLVM 3.3,Python 2.6、2.7、3.3和3.4的测试,其他Python版本也可以使用。

Ubuntu 14.04安装说明:

要在ubuntu 14.04上使用pip安装llvmpy,请按照以下步骤操作:

1]、确保同时安装了系统版本的llvm和3.3版本:

$ sudo apt-get install llvm llvm-3.3

2]、安装不支持llvm多个版本的llvmpy发行包:

$ pip install https://pypi.python.org/packages/source/l/llvmpy/llvmpy-0.12.7-9-g60b512d.tar.gz

下载地址:https://github.com/llvmpy/llvmpy

4、numba(通过 LLVM 加速 Python)

Python开发工具goPy、pythonz、llvmpy、numba介绍

numba是Cython的竞争项目。同样的,numba把Python源码通过LLVMPy生成JIT后的.so文件来加速。

不同点:

1].numba是以JIT为主的,加速对源码的侵入性较小。

2].Cython则重点在加速高性能Python模块的开发上,不依赖LLVMPy项目。

3].numba还很不成熟,目前兼容性相当差。

安装:

安装Numba和获取更新的最简单方法是使用Anaconda:

$ conda install numba

依存关系:

llvmlite(版本0.31.0或更高)。

NumPy(1.9或更高版本)。

funcsigs(适用于Python 2)。

支持平台:

1]、操作系统和CPU:

Linux:x86(32位),x86_64,ppc64le(POWER8和9),ARMv7(32位),ARMv8(64位)

Windows:x86,x86_64

macOS:x86_64

2]、Python版本:2.7、3.5-3.7

3]、NumPy:>= 1.11

4]、通过Linux,Windows,macOS(<10.14)上的CUDA驱动程序的NVIDIA GPU(Kepler体系结构或更高版本)

5]、通过Linux上的ROCm驱动程序的AMD GPU

6]、llvmlite:>= 0.31.0

下载地址:https://github.com/numba/numba

注明

以上就是Python开发工具goPy、pythonz、llvmpy、numba的介绍内容,这些Python开发工具都能使用在Linux操作系统中。

栏目相关文章