为什么使用cmd安装wxpython时报错?


Collecting wxpython
  Using cached wxPython-4.1.1.tar.gz (66.0 MB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: pillow in d:\lib\site-packages (from wxpython) (9.0.1)
Requirement already satisfied: six in d:\lib\site-packages (from wxpython) (1.16.0)
Requirement already satisfied: numpy in d:\lib\site-packages (from wxpython) (1.22.2)
Building wheels for collected packages: wxpython
  Building wheel for wxpython (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [51 lines of output]
      D:\lib\site-packages\setuptools\dist.py:717: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
        warnings.warn(
      D:\lib\site-packages\setuptools\dist.py:294: DistDeprecationWarning: use_2to3 is ignored.
        warnings.warn(f"{attr} is ignored.", DistDeprecationWarning)
      running bdist_wheel
      running build
      C:\Users\筱沫\AppData\Local\Temp\pip-install-uag_fivf\wxpython_b939f5eb1cd84f7ea9fba5dffef50c09\build.py:41: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
        from distutils.dep_util import newer, newer_group
      Will build using: "D:\python.exe"
      3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)]
      Python's architecture is 64bit
      cfg.VERSION: 4.1.1

      Running command: build
      Running command: build_wx
      Command '"D:\python.exe" -c "import setuptools, distutils.msvc9compiler as msvc; mc = msvc.MSVCCompiler(); mc.initialize(); print(mc.cc)"' failed with exit code 1.
      Traceback (most recent call last):

        File "<string>", line 1, in <module>

        File "D:\lib\distutils\msvc9compiler.py", line 371, in initialize

          vc_env = query_vcvarsall(VERSION, plat_spec)

        File "D:\lib\site-packages\setuptools\msvc.py", line 140, in msvc9_query_vcvarsall

          return EnvironmentInfo(arch, ver).return_env()

        File "D:\lib\site-packages\setuptools\msvc.py", line 1740, in return_env

          [self.VCIncludes,

        File "D:\lib\site-packages\setuptools\msvc.py", line 1282, in VCIncludes

          return [join(self.si.VCInstallDir, 'Include'),

        File "D:\lib\site-packages\setuptools\msvc.py", line 840, in VCInstallDir

          raise distutils.errors.DistutilsPlatformError(msg)

      distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.2 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      Finished command: build_wx (0.251s)
      Finished command: build (0.251s)
      WARNING: Building this way assumes that all generated files have been
      generated already.  If that is not the case then use build.py directly
      to generate the source and perform the build stage.  You can use
      --skip-build with the bdist_* or install commands to avoid this
      message and the wxWidgets and Phoenix build steps in the future.

      "D:\python.exe" -u build.py build
      Command '"D:\python.exe" -u build.py build' failed with exit code 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for wxpython
  Running setup.py clean for wxpython
Failed to build wxpython
Installing collected packages: wxpython
  Running setup.py install for wxpython ... error
  error: subprocess-exited-with-error

  × Running setup.py install for wxpython did not run successfully.
  │ exit code: 1
  ╰─> [51 lines of output]
      D:\lib\site-packages\setuptools\dist.py:717: UserWarning: Usage of dash-separated 'license-file' will not be supported in future versions. Please use the underscore name 'license_file' instead
        warnings.warn(
      D:\lib\site-packages\setuptools\dist.py:294: DistDeprecationWarning: use_2to3 is ignored.
        warnings.warn(f"{attr} is ignored.", DistDeprecationWarning)
      running install
      running build
      C:\Users\筱沫\AppData\Local\Temp\pip-install-uag_fivf\wxpython_b939f5eb1cd84f7ea9fba5dffef50c09\build.py:41: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
        from distutils.dep_util import newer, newer_group
      Will build using: "D:\python.exe"
      3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)]
      Python's architecture is 64bit
      cfg.VERSION: 4.1.1

      Running command: build
      Running command: build_wx
      Command '"D:\python.exe" -c "import setuptools, distutils.msvc9compiler as msvc; mc = msvc.MSVCCompiler(); mc.initialize(); print(mc.cc)"' failed with exit code 1.
      Traceback (most recent call last):

        File "<string>", line 1, in <module>

        File "D:\lib\distutils\msvc9compiler.py", line 371, in initialize

          vc_env = query_vcvarsall(VERSION, plat_spec)

        File "D:\lib\site-packages\setuptools\msvc.py", line 140, in msvc9_query_vcvarsall

          return EnvironmentInfo(arch, ver).return_env()

        File "D:\lib\site-packages\setuptools\msvc.py", line 1740, in return_env

          [self.VCIncludes,

        File "D:\lib\site-packages\setuptools\msvc.py", line 1282, in VCIncludes

          return [join(self.si.VCInstallDir, 'Include'),

        File "D:\lib\site-packages\setuptools\msvc.py", line 840, in VCInstallDir

          raise distutils.errors.DistutilsPlatformError(msg)

      distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.2 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      Finished command: build_wx (0.248s)
      Finished command: build (0.248s)
      WARNING: Building this way assumes that all generated files have been
      generated already.  If that is not the case then use build.py directly
      to generate the source and perform the build stage.  You can use
      --skip-build with the bdist_* or install commands to avoid this
      message and the wxWidgets and Phoenix build steps in the future.

      "D:\python.exe" -u build.py build
      Command '"D:\python.exe" -u build.py build' failed with exit code 1.
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> wxpython

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.

**我的python版本是3.10.2的 安装的wxpython版本是4.1.1

应该是 wxPython 4.1.1 还不能够python3.10下编译。如果要安装降为python3.9。最新版本的wxPython-4.1.2a1 只支持到python3.9版本,参考:
https://discuss.wxpython.org/t/serious-upgrade-problem/35604/5