linux将python文件打包成so文件

1、安装PIL

  1. 安装PIL的依赖

yum install zlib zlib-devel

yum install libjpeg libjpeg-level

yum install freetype freetype-devel

  1. 下载PIL

wget http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

  1. 解压

tar -zxvf Imaging-1.1.7

  1. 安装

cd Imaging-1.1.7

python setup.py install

 

2.安装cpython

将py文件编译成so文件

 python 安装:cython

      pip install cython

linux 安装:python-devel,gcc

      yum install python-devel

      yum install gcc

简易版:

from distutils.core import setup from Cython.Build import cythonize setup(ext_modules = cythonize(["your_file.py"]))

将生成的so文件放在build文件夹的lib下

 

升级版:

制定so文件存放路径

from distutils.core import setup

from Cython.Build import cythonize

 

build_dir = "" # 编译后的so文件存放路径

build_tmp_dir = "temp" # 编译的目标文件存放路径

 

# py文件转so文件

def py2so(name):

     result = 'success'

     try:

          setup(ext_modules=cythonize(name), script_args=["build_ext", "-b", build_dir, "-t", build_tmp_dir])

      except Exception, ex:

            print "error! ", ex.message

cython编译so只会编译该文件的内容,不会将依赖的其他文件一起打包 ,使用时直接引用即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章