编译第一个cython程序时出错

时间:2012-03-23 20:35:19

标签: python compiler-errors cython

我正在尝试开始使用cython并尝试编译我的第一个程序。我用以下代码创建了一个hello.pyx:

def show():
    print ("Hello World")

和一个带有以下代码的setup.py:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("hello", ["hello.pyx"])]

setup(
    name = 'Hello world app',
    cmdclass = {'build_ext': build_ext},
    ext_modules = ext_modules
)

在我称为“cython程序”的文件夹中,该文件夹位于C:\ Python32 \ cython程序中。 Cython位于C:\ Python32 \ Lib \ site-packages \ Cython。但是,当我运行setup.py时,我收到以下错误:

Traceback (most recent call last):
  File "C:\Python32\cython programs\setup.py", line 10, in <module>
    ext_modules = ext_modules
  File "C:\Python32\lib\distutils\core.py", line 136, in setup
    raise SystemExit(gen_usage(dist.script_name) + "\nerror: %s" % msg)
SystemExit: usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: no commands supplied

我猜我错过了一些非常简单的东西,但我似乎无法弄清楚它是什么。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

运行python setup.py build_ext。这对我有用。

答案 1 :(得分:0)

我在这里疯狂猜测......但我认为这是你目录名称中的空间。我只花了几分钟谷歌搜索Cython&amp; Distutils因为我似乎记得在Windows上使用它们时建议您不要在目录名中使用空格 - 但我无法找到我想要的链接。

尝试快速测试,只需将'cython程序'重命名为'cythonprograms',看看会发生什么。