"英特尔\ iCLS意想不到" python cythonize

时间:2016-07-05 03:32:01

标签: windows python-2.7 cython

我一直能够使用Python 2.7对我的Windows 7(64位)计算机上的代码进行cython化。但是最近我得到了以下错误 error: \Intel\iCLS was unexpected at this time.

对此主题的搜索表明在bat脚本中存在空格和其他此类字符的问题。然而,对于非常基本的hello world example,我也会尝试进行cython化,如下所示:

[cmd_prompt] C:\MyScripts\Python\Cython\hello_world>python setup.py build_ext --inplace

Compiling helloworld.py because it changed.
[1/1] Cythonizing helloworld.py
running build_ext
building 'helloworld' extension
error: \Intel\iCLS was unexpected at this time.

更新到cython 0.24没有帮助。

[Update 1]:我发现我可以使用cython -a helloworld.py对代码进行cython化。所以我猜这是使用distutils来进行cythonize的问题。我还将成功的cythonize生成的.c文件与失败的文件进行了比较,发现它们在开始时只有不同。失败的版本在顶部

/* BEGIN: Cython Metadata
{
    "distutils": {}
}
END: Cython Metadata */

如果有任何关于如何解决此问题的见解,我将不胜感激?

2 个答案:

答案 0 :(得分:2)

在尝试为cython构建设置Visual Studio工具时,我能够将问题范围缩小到vcvarsall.bat无法初始化系统路径。当我开始更改系统路径中的文件夹顺序时,错误开始发生在\NVIDIA unexpected at this time\Microsoft unexpected at this time等不同的内容上。感谢J.J. Hakala's评论,我尝试删除所有引号PATH变量,它解决了这个问题。

我认为PATH变量在某处("%PATH%")的引号中被Visual Studio脚本使用,当它扩展它时,用户插入的引号与脚本插入引号错误匹配并导致这个错误。

我的生命中有2天我永远不会回来:) 希望这有助于其他人重复同样的错误。

答案 1 :(得分:0)

J.J。 Hakala和SBK的评论肯定让我走上正轨,但并没有完全解决这个问题。在windows环境变量中,我删除了一个"%PATH%"输入和我用%ProgramFiles%替换所有对C:\ Progam文件的引用,用%ProgramFiles(86)%替换C:\ Progam文件(86)的引用。关闭并重新启动CMD.exe后,问题就消失了。

相关问题