使用cython把python編譯so

2021-09-16 13:02:25 字數 1806 閱讀 7955

1.需求

為了保證線上**安全和效率,使用python編寫**,pyc可直接反編譯,於是把重要**編譯so檔案

2.工作

pip install cython

yum install -y gcc python-devel

2.2 建立setup.py

#!/usr/bin/env python

# coding=utf-8

from distutils.core import setup

from cython.build import cythonize

setup(

ext_modules = cythonize("***x.py")

)

2.3 執行

root@868aec72d1a4:/***/***/***# python setup.py build_ext

compiling ***.py because it changed.

[1/1] cythonizing ***.py

running build_ext

building 'lib.***' extension

creating build

creating build/temp.linux-x86_64-2.7

x86_64-linux-gnu-gcc -pthread -dndebug -g -fwrapv -o2 -wall -wstrict-prototypes -fno-strict-aliasing -wdate-time -d_fortify_source=2 -g -fstack-protector-strong -wformat -werror=format-security -fpic -i/usr/include/python2.7 -c ***.c -o build/temp.linux-x86_64-2.7/***.o

creating build/lib.linux-x86_64-2.7

creating build/lib.linux-x86_64-2.7/lib

x86_64-linux-gnu-gcc -pthread -shared -wl,-o1 -wl,-bsymbolic-functions -wl,-bsymbolic-functions -wl,-z,relro -fno-strict-aliasing -dndebug -g -fwrapv -o2 -wall -wstrict-prototypes -wdate-time -d_fortify_source=2 -g -fstack-protector-strong -wformat -werror=format-security -wl,-bsymbolic-functions -wl,-z,relro -wdate-time -d_fortify_source=2 -g -fstack-protector-strong -wformat -werror=format-security build/temp.linux-x86_64-2.7/***.o -o build/lib.linux-x86_64-2.7/lib/***.so

會在當年目錄上傳build目錄,結構如下:

root@868aec72d1a4:/spider/codes/lib# tree build/

build/

|-- lib.linux-x86_64-2.7

| `-- lib

| `-- ***.so

`-- temp.linux-x86_64-2.7

`-- ***.o

3 directories, 2 files

2.4 獲取so檔案即可

【** 部落格位址

cython安裝 使用

原創 2012年09月27日 17 25 11 一 cython 在linux ubuntu 下安裝 sudo apt get install cython 安裝後 輸入 cython 即可驗證是否安裝成功 二 使用 1 編寫 以 pyx為副檔名的 cython程式,hello.pyx python...

python擴充套件模組 Cython

python 可以直接呼叫c模組。這些c模組可以是通用的c庫或專門為python工作的庫。cython生成第二種型別的模組 與python內部對話的c庫,可以與現有的python 繫結在一起。通過使用cython可以加速python程式。cython檔案字尾為 pyx 作為新手,我是通過anacon...

Cython使用教程 1

記錄一下自己使用cython的過程和經驗.環境 首先介紹windows系統下的安裝.cython通過編譯python檔案來實現加速,因此需要安裝編譯器,我使用的是mingw.安裝mingw後,安裝相關庫 conda install libpython m2w64 toolchain c msys2 ...