使用python解释器直接运行cython扩展?即“python test.so”

时间:2012-06-25 19:35:57

标签: python cython

我想将main.py编译成main.so并使用linux中的python解释器运行它,如下所示:“/ usr / bin / python main.so”

我该怎么做?

到目前为止,运行扩展编译官方的方式给我这个:

root@server:~/TEMP# python test.so 
File "test.so", line 1
SyntaxError: Non-ASCII character '\x8b' in file test.so on line 2,...

2 个答案:

答案 0 :(得分:2)

您无法直接执行.so。二进制表单的原因,你必须导入:

python -m test

如果你想从模块中创建一个可执行文件,你可以使用cython的“-embed”选项:

cython -embed test.pyx
gcc ...your flags... test.c -o test
./test

答案 1 :(得分:1)

您必须将其作为模块执行。

python -m test