2

我有 scipy 和 numpy。所以我安装MinGWCygwin. o MinGW我添加了环境变量的路径。但是当我运行我的 python 代码时,它会显示此错误消息。

* numpy.distutils 中没有名为 msvccompiler 的模块;尝试从 distutils Missing compiler_cxx fix for MSVCCompiler*

Traceback (most recent call last):
  File "C:\Python27\jicrd_simulation.py", line 633, in <module>
    cProfile.run('run()','infoprof_c_old')
  File "C:\Python27\lib\cProfile.py", line 29, in run
    prof = prof.run(statement)
  File "C:\Python27\lib\cProfile.py", line 135, in run
    return self.runctx(cmd, dict, dict)
  File "C:\Python27\lib\cProfile.py", line 140, in runctx
    exec cmd in globals, locals
  File "<string>", line 1, in <module>
  File "C:\Python27\jicrd_simulation.py", line 615, in run
    P,trace=search(g)
  File "C:\Python27\jicrd_simulation.py", line 580, in search
    hits=compute_hits(g,pos,P)
  File "C:\Python27\jicrd_simulation.py", line 299, in compute_hits
    source_counts = thetarange(g,g.source,move)
  File "C:\Python27\jicrd_simulation.py", line 229, in thetarange
    headers=['<stdio.h>','<stdlib.h>','<math.h>','"'+g.path +'/comp.h"'])
  File "C:\Python27\lib\site-packages\scipy\weave\inline_tools.py", line 355, in inline
    **kw)
  File "C:\Python27\lib\site-packages\scipy\weave\inline_tools.py", line 482, in compile_function
      verbose=verbose, **kw)
  File "C:\Python27\lib\site-packages\scipy\weave\ext_tools.py", line 367, in compile
      verbose = verbose, **kw)
    File "C:\Python27\lib\site-packages\scipy\weave\build_tools.py", line 272, in build_extension
      setup(name = module_name, ext_modules = [ext],verbose=verb)
    File "C:\Python27\lib\site-packages\numpy\distutils\core.py", line 186, in setup
      return old_setup(**new_attr)
    File "C:\Python27\lib\distutils\core.py", line 169, in setup
      raise SystemExit, "error: " + str(msg)
  CompileError: error: Unable to find vcvarsall.bat

那我现在该怎么办?我有一个 MSVCCCompiler。

4

1 回答 1

0

当您谈论 C++ 编码时,我假设您想要编译 C/C++ 扩展。我使用 MinGW 在 Win 32上编译 C 扩展的方法是显式附加编译器:

python setup.py build_ext --compiler mingw32

如果你想为 Win 64编译,MinGW 似乎不是最好的选择。我在这里这里得到了提示,并获得了我的扩展,以使用 Microsoft SDK 中的 VC++ 10 进行编译。

于 2013-03-27T23:24:18.513 回答