4

我有一个非常基本的 cython 测试脚本

测试1.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

4

2 回答 2

4

使用该--embed选项。这是一个例子

于 2012-09-04T17:30:34.120 回答
3

I put together runcython (http://github.com/Russell91/runcython) to make this easier. Using runcython test.pyx will build and run your cython script directly.

于 2015-03-26T03:17:34.637 回答