cygwincompiler TypeError:'> =' ' NoneType'的实例之间不支持和' str'

时间:2018-02-13 10:31:03

标签: python cygwin statsmodels

File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\distutils\mingw
  dry_run, force)
File "C:\ProgramData\Anaconda3\lib\distutils\cygwinccompiler.py", line
  if self.ld_version >= "2.10.90":
TypeError: '>=' not supported between instances of 'NoneType' and 'str'

在我的python环境中长期面对这个错误,我不知道是否因为cygwin而不是enter code here

2 个答案:

答案 0 :(得分:2)

  1. 您需要将以下两行添加到名为distutils.cfg的新文件中,以安装到python / Lib / distils python中。如原始问题所示,这将防止“ vcvarsall.bat”错误或“ Visual C ++要求”错误或NoneType错误。 (假设“ distutils.cfg”文件不存在)

    [build]
    compiler=mingw32.exe
    
    (Note: The ".exe" portion is very important here, and many other guidelines tend to leave this out!)
    
  2. 将补丁添加到Python / Lib / disutils / cygwinccompiler.py。将get_msvcr()方法更改为this file中由我自己组织的方法,以确保python标签安全,或者以其他方式应用对特定bug fix python page的更改。 (请注意,即使将正式页面的代码复制到cygwinccompiler.py get_msvcr方法中,即使删除了不相关的加号并确保所有内容都对齐后,也会产生错误。您需要删除这些选项卡,并替换它们以及相应的空格数。)

答案 1 :(得分:1)

可能是因为您没有将mingw目录添加到Windows PATH中。 cygwinccompiler.py正在尝试将您的ld版本与特定版本进行比较,但已收到None作为ld版本。 查看这个After installing minGW, gcc command is not recognized 的答案,了解两个如何将mingw添加到您的Windows PATH中。 将其添加到路径后,打开一个新的cmd并尝试:

gcc -dumpversion
ld -v
dllwrap -version

如果识别出命令,您应该能够正常运行cygwinccompiler.py