使用cython将py文件编译成so文件
2017-08-30 16:28
826 查看
一、环境准备
安装cython,以及gcc编译环境
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install cython
yum install -y gcc python-devel
二、编写测试脚本
test.py,内容如下
import os
def test():
print os.path.realpath('.')
三、将其拷贝到python系统路径
/usr/lib/python2.7/site-packages/test
在test目录下创建__init__.py, 与 test.py 的文件
test.py 上面内容如上所示
四、脚本测试
python
>>> import lyh.test
>>> lyh.test.test()
五、编译so文件
以下操作均在 /usr/lib/python2.7/site-packages/test 路径下执行
1. cython test.py
2. gcc -c -fPIC -I/usr/include/python2.7/ test.c
3. gcc -shared test.o -o test.so
六、验证so文件的可用性
1. 移除/usr/lib/python2.7/site-packages/test/test.py 文件,只保留 test.so文件
test
├── __init__.py
└── test.so
2.
python
>>> import test.test
>>> test.test.test()
可以执行
验证完成
七、使用setup.py 编译so
1. 编写setup.py文件,位于/usr/lib/python2.7/site-packages/test,内容如下:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("test.py")
)
2.然后运行
setup.py build_ext --inplace
安装cython,以及gcc编译环境
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
pip install cython
yum install -y gcc python-devel
二、编写测试脚本
test.py,内容如下
import os
def test():
print os.path.realpath('.')
三、将其拷贝到python系统路径
/usr/lib/python2.7/site-packages/test
在test目录下创建__init__.py, 与 test.py 的文件
test.py 上面内容如上所示
四、脚本测试
python
>>> import lyh.test
>>> lyh.test.test()
五、编译so文件
以下操作均在 /usr/lib/python2.7/site-packages/test 路径下执行
1. cython test.py
2. gcc -c -fPIC -I/usr/include/python2.7/ test.c
3. gcc -shared test.o -o test.so
六、验证so文件的可用性
1. 移除/usr/lib/python2.7/site-packages/test/test.py 文件,只保留 test.so文件
test
├── __init__.py
└── test.so
2.
python
>>> import test.test
>>> test.test.test()
可以执行
验证完成
七、使用setup.py 编译so
1. 编写setup.py文件,位于/usr/lib/python2.7/site-packages/test,内容如下:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("test.py")
)
2.然后运行
setup.py build_ext --inplace
相关文章推荐
- python文件编译成so介绍 - 1.使用cython将py文件编译成so文件
- python文件编译成so介绍 - 2.使用makefile将py文件编译成so文件并制作成rpm包,实现自动化
- 使用Eclipse+NDK编译arm64-v8a CPU架构的speex.so文件
- android NDK开发使用Builder自动编译生成so文件
- android studio 使用ndk编译.C文件生成so文件
- android ndk第一步使用ndk和Cmake编译.so文件
- 使用Eclipse+NDK编译arm64-v8a CPU架构的speex.so文件
- ffmpeg2.6.2在Ubuntu下使用NDK编译成.so文件
- aix中使用xlc编译生成动态链接库(shared object)(.so)文件的方法
- Linux下使用Nsight交叉编译so文件
- 小白Windows下编译使用Android NDK,调用SO文件
- android studio 将 cpp 文件编译的so 库 给其它工程使用
- 一个使用FFmpeg库读取3gp视频的例子-Android中使用FFmpeg媒体库(三).so文件编译过程问题的解决
- 使用cython把python编译so
- android studio中使用ndk编译.so文件,调用C/C++代码(jni编程)
- cygwin+android ndk编译供给Android使用的.so库文件
- aix中使用xlc编译生成动态链接库(shared object)(.so)文件的方法
- 使用NDK编译C/C++为.so文件
- 最简单 的入门且最直观的Makefile和.so文件编译链接使用方法
- AndroidStudio 2.2.3:编译C++文件、生成so文件及so文件使用