即使我有一个C ++编译器,我也无法让cython工作。

时间:2015-11-30 19:32:19

标签: python-2.7 cython anaconda

我使用的是带有anaconda 2.4.0(64位)和cython 0.23.4的python 2.7.10(64位),以及setuptools,pip和wheel的最新更新。我还从这个链接http://www.microsoft.com/en-us/download/details.aspx?id=44266下载并安装了一个C编译器。

然后我写了以下hi.pyx文件:

    print "Hello"

以下setup.py文件

    from distutils.core import setup
    from Cython.Build import cythonize

    setup(
      name = 'Hello world app',
      ext_modules = cythonize("hi.pyx"),
    )

vcvarsall.bat文件位于: C:\ Users \用户c3126_000 \应用程序数据\本地\程序\ COMMON \微软\ Visual_C ++ _ for_Python \ 9.0 所以我把它添加到路径系统变量。

我在Anaconda提示中运行了以下命令

    cython -2 hi.pyx

这产生了文件hi.c 然后我运行了命令

    python setup.py build_ext --inplace

发出以下错误:     无法找到vcvarsall.bat

所以我运行了以下命令:

    SET DISTUTILS_USE_SDK=1
    SET MSSKdK=1

然后再次运行此命令:

    python setup.py build_ext --inplace

给出错误:命令'cl.exe'失败:没有这样的文件或目录。 现在我不知道还能做什么。有人能帮忙吗?

1 个答案:

答案 0 :(得分:0)

我没有使用anaconda。 要编译pyx文件,我从SDK打开CMD shell,然后输入(编译x64):

set DISTUTILS_USE_SDK=1
setenv /x64 /release
python setup.py build_ext --inplace