pycharm 在Windows上安装wxPython:分布式平台错误:需要Microsoft Visual C++ 14.2或更高版本

m1m5dgzv  于 2022-11-23  发布在  PyCharm
关注(0)|答案(4)|浏览(457)

我已安装:

  • Python语言3.10.1
  • PyCharm社区2021.3
  • Visual Studio建置工具2022,包括:
  • C++生成工具核心功能
  • C++2022可转散发更新
  • C++核心桌面功能
  • MSVC v143-VS 2022 C++ x64/x86构建工具(最新)
  • Windows 10开发工具包(10.0.19041.0)
  • C++ CMake Windows版工具
  • 测试工具核心功能-构建工具
  • C++位址清除器
  • v143建置工具的C ++/CLI支援(最新)
  • 用于v143构建工具的C++模块(x64/x86-实验性)

当我尝试在我的项目的virtualenv中安装wxPython时,我得到了这个错误:
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/
错误和任何我可以在互联网上找到的东西(包括这里)都告诉我下载C构建工具并安装C14. 2或更高/最新版本。我有:

  • 这样做(参见上面的列表),
  • 已重新启动
  • venv/Scripts/pip install --upgrade setuptools
  • venv/Scripts/pip install --upgrade wheel
  • venv/Scripts/pip install --upgrade pip

我在这里遗漏了什么?是否有某种路径变量需要在某处配置,以便pip/wheel/setuptools知道在哪里可以找到编译器?

jc3wubiy

jc3wubiy1#

我也有同样的问题。使用Python 3.9.9解决了这个问题。可能是Python 3.10.1中的distutils问题,www.example.com上有这个警告msvc9compiler.py:
弃用警告:distutils包在Python 3.12中被弃用并计划删除
这导致:
无法找到该文件。

unguejic

unguejic2#

当前的wxPython 4.1.1与windows上的python 3.10不兼容(它在Linux上工作)。您可以下载旧版本的Visual Studio构建工具来绕过DistutilsPlatformError的问题,但是您将无法在Windows上成功安装Python 3. 10。我找到了这个问题的解决方案,链接是Compile_wxPython_4.1.2a1_Python3.10_Windows。我无法编译它,但有一个链接到whl文件,这是使用该过程创建的。我下载并安装了它,使用命令pip install wxPython-4.1.2a1-cp310-cp310-win_amd64.whl我相信在不久的将来4.1.2将发布到PyPy,您将能够安装它使用pip。

cig3rfwq

cig3rfwq3#

这里的答案已经提供了正确的指针,但是在这个答案中,我想直接列出所有必要的步骤,这样你就不必访问其他资源,它还提供了64位和32位版本的Python 3.10.x的解决方案。

64位版本Python 3.10.x的解决方案

1.直接在此处下载wxPython wheel文件:wxPython-4.1.2a1-cp310-cp310-win_amd64.whl
1.使用Windows指令行,移至您下载wheel档案的文件夹。
1.运行:pip install wxPython-4.1.2a1-cp310-cp310-win_amd64.whl

Python 3.10.x 32位版本的解决方案

先决条件

构建wxPython

在以管理员身份运行的Windows命令行中,执行以下命令:

gh repo clone wxWidgets/Phoenix
cd .\Phoenix\
git submodule update --init --recursive
python -m venv venv
.\venv\Scripts\activate
pip install -r .\requirements.txt
python build.py dox etg --nodoc sip build

建立操控盘

仍然在命令行中,执行以下命令:

python setup.py bdist_wheel

安装车轮

仍然在命令行中,执行以下命令:

cd dist
pip install <created-wheel-filename>

The should be the wheel you just created, so something like: wxPython-4.2.0a1-cp310-cp310-win32.whl

来源

vecaoik1

vecaoik14#

这个问题目前正在修复中。或者更确切地说,它已经修复了,并且很快就会用修复程序制作PR。我写了一个正确的MSVC构建环境脚本,而不是distutils或setuptool附带的脚本,在设置MSVC构建环境时,这两个脚本都不能正确工作。
这里有一个指向我编写的脚本的链接,该脚本可以正确地设置构建环境
https://github.com/kdschlosser/python_msvc
这是一个指向wxPython工作分支的链接
https://github.com/oleksis/Phoenix/tree/try-pyMSVC
正确编译wxPython的问题是因为setuptools和distutils都没有正确检测Visual Studio 2022的能力。我的脚本使用COM接口来收集设置构建环境所需的信息。该环境是在没有使用vcvar*.bat文件的情况下设置的。

相关问题