我有一个非常基本的cython测试脚本
test1.pyx:
def do_something(f):
return f
def main():
f = 1
print do_something(f)
if __name__ == "__main__":
main()
我编译的是:
cython test1.pyx
gcc -Wall -O2 -g -lm -shared -pthread -fPIC -fwrapv -fno-strict-aliasing -Iinclude/python2.6 -o test1.so test1.c
它有效:
./bin/python -c "import test1; test1.main()"
1
但直接将其作为模块调用不起作用:
./bin/python -m test1
/mypath/bin/python: No code object available for test1
为什么这不起作用?我怎样才能让它直接调用cython脚本?
Cython版本0.12.1
答案 0 :(得分:5)
使用--embed
选项。这是example
答案 1 :(得分:3)
我把runcython(http://github.com/Russell91/runcython)放在一起使这更容易。使用runcython test.pyx
将直接构建并运行您的cython脚本。