pythran - 无法识别的文件格式和未知的 MS 编译器版本 1800

pythran - File format not recognized and Unknown MS Compiler version 1800

我是pythran的新手,现在遇到无法识别文件格式的问题如下:

D:\DevWorkSpace\cython>pythran dprod.py
WARNING  Pythran support disabled for module: omp
Looking for python27.dll
objdump.exe: D:\Program Files\Anaconda2\python27.dll: File format not recognized
CRITICAL Chair to keyboard interface error
E: Symbol table not found

我的 OS 是 Win 10 64 位。 Pythran 的版本是 0.7.4.post1。 python我用的是anaconda 2:

Python 2.7.11 |Anaconda 2.3.0 (64-bit)| (default, Feb 16 2016, 09:58:36) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

因为我第一次尝试 Cython,所以我先安装了 Visual Studio 2008 SP1 和 Windows SKD for VC 2008。然后我为 gcc 编译器安装了 MinGW(gcc 版本 4.93)并按照 answer 使用 gcc 编译器。这是我第一次遇到这个问题无法识别文件格式

然后我卸载 pythran 并使用以下方法重新安装它:

pip install --global-option build_ext --global-option --compiler=mingw32 pythran

我得到了这个:创建进程失败

我还尝试从 pypi 的源代码安装 pythran,并使用以下命令安装它: python setup.py install。没用。

此外,我无法从 conda 安装 pythran,这给了我以下消息:

C:\Users\JHW>conda install -c serge-sans-paille pythran
Fetching package metadata: ......
Solving package specifications: .
Error:  Package missing in current win-64 channels:
  - pythran

Did you mean one of these?

    python, ipython

You can search for this package on anaconda.org with

    anaconda search -t conda pythran

最后,我也尝试用另一个python27.dll替换它,它是从\MySQL\MySQL Workbench 6.3 CE复制过来的。 无法识别的文件格式 消失了,但 pythran 仍然无法正常工作。 "pythran didn't work",我的意思是

D:\DevWorkSpace\cython>pythran dprod.py
WARNING  Pythran support disabled for module: omp
CRITICAL Chair to keyboard interface error
E: Unknown MS Compiler version 1800

感谢@cdarke 的评论,看来我应该转向编译器的问题了。我不得不承认我在发布这个问题时忽略了这个错误。我漏掉这个问题的原因是当我替换anaconda2中的python27.dll时,anaconda中的iPython笔记本无法工作(当我启动它时,cmd弹出window并且消失得太快让我无法捕捉到错误)

所以我的问题是:

  1. 哪里可以找到合适的python27.dll来解决文件格式无法识别的问题而不破坏iPython笔记本的功能。 (或者如何在 iPython notebook 的开头保留错误)

  2. 解决未知 MS 编译器版本 1800 的提示。(我现在正试图弄清楚如何解决编译器问题,但我是 MS 编译器的新手。所以任何提示都会非常有用赞赏!)

非常感谢您!

根据documentation, Pythran only supports Windows through WinPython

这个选择背后的原因是 Visual Studio C++ 编译器对所有 C++11 特性的支持缺乏良好的支持…