我已安装:
- 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知道在哪里可以找到编译器?
4条答案
按热度按时间jc3wubiy1#
我也有同样的问题。使用Python 3.9.9解决了这个问题。可能是Python 3.10.1中的distutils问题,www.example.com上有这个警告msvc9compiler.py:
弃用警告:distutils包在Python 3.12中被弃用并计划删除
这导致:
无法找到该文件。
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。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命令行中,执行以下命令:
建立操控盘
仍然在命令行中,执行以下命令:
安装车轮
仍然在命令行中,执行以下命令:
The should be the wheel you just created, so something like: wxPython-4.2.0a1-cp310-cp310-win32.whl
来源
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文件的情况下设置的。