我是 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
我的操作系统是 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 编译器(gcc 版本 4.93)安装了 MinGW,并按照这个答案使用 gcc 编译器。这是我第一次遇到这个问题文件格式无法识别。
然后我卸载 pythran 并使用以下命令重新安装它:
pip install --global-option build_ext --global-option --compiler=mingw32 pythran
我得到了这个:failed to create process。
我还尝试从 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 不起作用”
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 notebook 无法工作(当我启动它时,弹出一个 cmd 窗口并很快消失,我无法捕捉到错误)
所以我的问题是:
哪里可以找到合适的python27.dll来解决文件格式无法识别的问题,而不会损坏iPython笔记本功能。(或如何在 iPython 笔记本开始时保留错误)
解决未知 MS 编译器版本 1800 的提示。(我现在正试图弄清楚如何解决编译器问题,但我是 MS 编译器的新手。所以任何提示将不胜感激!)
非常感谢您!