4

私は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

4

2 に答える 2

4

オプションを使用し--embedます。これが例です

于 2012-09-04T17:30:34.120 に答える
3

これを簡単にするために、 runcython( http://github.com/Russell91/runcython )をまとめました。を使用runcython test.pyxすると、cythonスクリプトが直接ビルドおよび実行されます。

于 2015-03-26T03:17:34.637 に答える