使用cython将py文件编译成so文件
来源:互联网 发布:新申请的域名注册商 编辑:程序博客网 时间:2024/06/05 20:29
一、环境准备
安装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()
可以执行
安装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
阅读全文
0 0
- 使用cython将py文件编译成so文件
- 使用cython将py文件编译成so文件
- python将py编译成so方法
- 将.py文件编译成 .pyc/.pyo文档
- python 反编译 将pyc 文件编译成 py源文件
- python 将pyc 文件反编译成py源文件
- mac os x 将C文件编译成.so库
- Android NDK将C++/C编译成so文件
- .c文件编译成.so文件
- jni文件编译成.so文件
- 使用csc命令将.cs文件编译成.dll文件
- 【Python】将python的py文件编译成保密的pyc文件
- python编译运行检错神器(将.py文件编译成.pyc文件)
- linux下如何将c++程序编译成so,如何调用该so文件
- 将Js文件编译成dll文件
- 将.CS文件编译成.dll文件
- 将javascript文件编译成dll文件
- 将.jar文件编译成.exe文件
- Xamarin中wcf的引用
- STM32学习笔记一一独立看门狗
- 运行时压缩&调试UPX压缩的notepad
- 记使用Kotlin导入项目时报错
- Java 并发编程:核心理论(转)
- 使用cython将py文件编译成so文件
- java 处理zip压缩/解压 文件/目录
- MFC 树控件使用例子
- cardview的简单使用
- 2017.5.24并查集小结
- 【tensorflow学习】使用tensorboard实现数据可视化
- c# Invoke和BeginInvoke 区别
- 算法练习-相亲数
- nginx+lua+memcache封禁频繁访问ip