msys2/mingw64:pip:此模块不支持VC 6.0

8

我尝试在Windows 10 (mingw64)中安装一个软件包,但遇到了这个错误:

IEUser@MSEDGEWIN10 MINGW64 /c/Users/IEUser/PycharmProjects/myapp_msi-msys/myapp_msi
$ pip  install -e git+https://source.example.lan:40443/repos/myapp_common#egg=myapp_common
Obtaining myapp_common from git+https://source.example.lan:40443/repos/myapp_common#egg=myapp_common
  Cloning https://source.example.lan:40443/repos/myapp_common to c:/users/ieuser/pycharmprojects/myapp_msi-msys/myapp_msi/src/myapp-common
Username for 'https://source.example.lan:40443':
Password for 'https://tguettler@source.example.lan:40443':
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:/msys64/mingw64/lib/python2.7/site-packages/setuptools/__init__.py", line 191, in <module>
        monkey.patch_all()
      File "C:/msys64/mingw64/lib/python2.7/site-packages/setuptools/monkey.py", line 101, in patch_all
        patch_for_msvc_specialized_compiler()
      File "C:/msys64/mingw64/lib/python2.7/site-packages/setuptools/monkey.py", line 164, in patch_for_msvc_specialized_compiler
        patch_func(*msvc9('find_vcvarsall'))
      File "C:/msys64/mingw64/lib/python2.7/site-packages/setuptools/monkey.py", line 151, in patch_params
        mod = import_module(mod_name)
      File "C:/msys64/mingw64/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "C:/msys64/mingw64/lib/python2.7/distutils/msvc9compiler.py", line 306, in <module>
        raise DistutilsPlatformError("VC %0.1f is not supported by this module" % VERSION)
    distutils.errors.DistutilsPlatformError: VC 6.0 is not supported by this module

我该怎么做才能解决这个问题?

我正在按照以下说明设置我的开发环境:https://www.gtk.org/download/windows.php

更新

仅供记录,我从gtk转换到了qt(PySide2),现在我可以使用默认的Windows Python。现在一切都轻松多了。


2
这似乎是一个拼凑而成的产品,用于在Windows上使用GTK+。它依赖于MSYS2、MinGW和MSVC。虽然说明书没有提到,但错误信息强烈暗示您需要安装至少Visual Studio构建工具,如果不是整个Visual Studio IDE的话。 - MSalters
@MSalters 是的,你说得对,Windows下的GTK似乎很脆弱,而且缺乏良好的支持。今天使用它的人太少了。由于代码库相当小,我们将改用QT。这样我们就可以使用默认的Python for Windows,而不需要msys2/mingw。 - guettli
1个回答

12
在MSYS2中,许多问题都是通过下游的MINGW-packages进行修补的,这些包进入了pacman存储库。在这种情况下,您获得此错误的原因是您已安装setuptools pip,而不是使用pacman存储库安装。要解决此问题:
pip uninstall setuptools
pacman -S mingw-w64-x86_64-python-setuptools

或者,如果你正在使用现代Python:

pip3 uninstall setuptools
pacman -S mingw-w64-x86_x64-python3-setuptools

如果问题只在下游修补而不是上游修补,那么感觉有些奇怪。我从python+gtk转换到PySide后就没有这样的问题了。尽管如此,还是谢谢你的回答。这可能会帮助其他需要使用mingw的人。 - guettli
软件包名称为 mingw64/mingw-w64-x86_64-python2-setuptools,但是对于我而言如果没有 mingw64/ 是无法正常工作的。 - feos
1
Windows 的命令是什么? - sebsmgzz
我因为MSYS2遇到了与上述相同的问题。我的解决方案是利用Conda的pip。 - Yuh Lee
唉,这已经不再有帮助了。 - sds

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接