如何在windows 8.1系统中,在Anaconda(python3.6)中构建cython pyx到pyd?[英] How to build cython pyx to pyd in anaconda(python3.6) in windows 8.1?

本文是小编为大家收集整理的关于如何在windows 8.1系统中,在Anaconda(python3.6)中构建cython pyx到pyd?的处理方法,想解了如何在windows 8.1系统中,在Anaconda(python3.6)中构建cython pyx到pyd?的问题怎么解决?如何在windows 8.1系统中,在Anaconda(python3.6)中构建cython pyx到pyd?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我已将一些网站转介到Windows 8.1.i'M中使用Anaconda发行的pyd构建PYD,我已经开发了PYX文件,无法在" Anaconda命令提示符"中构建PYX文件". anaconda>

python setup.py build --inplace --compiler=mingw32 

和尝试

python setup.py build_ext --inplace --compiler=mingw32

获取以下错误:

File "C:\ProgramData\Anaconda3\lib\distutils\cygwinccompiler.py", line 129 in __init__  
  if self.ld_version >= "2.10.90":
TypeError: '>=' not supported between instances of 'NoneType' and 'str'

我的简单PYX代码是

cdef int fib(int n):    
    cdef int a, b, i
    a, b  = 1, 1
    for i in range(n):
       a, b = a+b, a
    return a

和我的setup.py文件如下..

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

setup(ext_modules = cythonize('fb.pyx'))

如何在Windows 8.1中摆脱它?我想将struct和套接字库用于我的插座编程.

推荐答案

您的.pyx或setup.py code afaict没有错. 我在Windows 10上使用Anaconda3,并且可以正常工作.

问题是编译器.您自己安装了Mingw32吗? 看起来您无法编译代码的任何版本. 我有同样的错误

但是,使用Visual Studio 14和Borlands编译器中包含的编译器对我来说,对我进行了很好的编译.

尝试-compiler = BCPP(希望已经在您的系统上)

尝试安装:建造工具 并使用-compiler = MSVC运行您的编译命令(或者仅指定编译器.)

本文地址:https://www.itbaoku.cn/post/1793833.html