我正在尝试开始使用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
我猜我错过了一些非常简单的东西,但我似乎无法弄清楚它是什么。任何帮助将不胜感激。
答案 0 :(得分:4)
运行python setup.py build_ext
。这对我有用。
答案 1 :(得分:0)
我在这里疯狂猜测......但我认为这是你目录名称中的空间。我只花了几分钟谷歌搜索Cython&amp; Distutils因为我似乎记得在Windows上使用它们时建议您不要在目录名中使用空格 - 但我无法找到我想要的链接。
尝试快速测试,只需将'cython程序'重命名为'cythonprograms',看看会发生什么。