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只會編譯該文件的內容,不會將依賴的其他文件一起打包 ,使用時直接引用即可

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