所以我尝试
python -m pip install pycuda
但失败了(这是安装失败的一些输出):
Building wheel for pycuda (pyproject.toml) ... error
error: subprocess-exited-with-error
WARNING: nvcc not in path.
ERROR: Failed building wheel for pycuda
Failed to build pycuda
ERROR: Could not build wheels for pycuda, which is required to install pyproject.toml-based projects
我已经安装了 Visual Studio 2022 构建工具,但我没有在我的路径中添加任何内容,这就是我认为我要做的所有事情,但我不知道我必须添加什么。 pycuda wiki 的安装页面指定
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;
但我没有这些目录。这是我的 Visual Studio 安装树
D:\VisualStudioThings\install\VC
。 (我无法包含整个安装的树,因为它太多了)
Common7
CoreCon
DIA SDK
ImportProjects
Licenses
Microsoft Azure Tools
MSBuild
SDK
Team Tools
VB
VC
VC#
VSSDK
Xml
VC
├───Auxiliary
│ ├───Build
│ └───VS
│ ├───include
│ │ └───CppCoreCheck
│ ├───lib
│ │ ├───arm
│ │ ├───onecore
│ │ │ ├───arm
│ │ │ ├───x64
│ │ │ └───x86
│ │ ├───x64
│ │ └───x86
│ └───UnitTest
│ ├───include
│ │ ├───UWP
│ │ └───v150
│ └───lib
│ ├───ARM
│ ├───ARM64
│ ├───UWP
│ │ ├───arm
│ │ ├───arm64
│ │ └───x64
│ ├───x64
│ └───x86
├───Redist
│ └───MSVC
│ ├───14.34.31931
│ │ ├───Auxiliary
│ │ ├───debug_nonredist
│ │ │ ├───x64
│ │ │ │ ├───Microsoft.VC143.DebugCRT
│ │ │ │ ├───Microsoft.VC143.DebugCXXAMP
│ │ │ │ ├───Microsoft.VC143.DebugOpenMP
│ │ │ │ └───Microsoft.VC143.OpenMP.LLVM
│ │ │ └───x86
│ │ │ ├───Microsoft.VC143.DebugCRT
│ │ │ ├───Microsoft.VC143.DebugCXXAMP
│ │ │ ├───Microsoft.VC143.DebugOPENMP
│ │ │ └───Microsoft.VC143.OpenMP.LLVM
│ │ ├───onecore
│ │ │ ├───debug_nonredist
│ │ │ │ ├───x64
│ │ │ │ │ ├───Microsoft.VC143.DebugCRT
│ │ │ │ │ └───Microsoft.VC143.DebugOpenMP
│ │ │ │ └───x86
│ │ │ │ ├───Microsoft.VC143.DebugCRT
│ │ │ │ └───Microsoft.VC143.DebugOPENMP
│ │ │ ├───x64
│ │ │ │ ├───Microsoft.VC143.CRT
│ │ │ │ └───Microsoft.VC143.OpenMP
│ │ │ └───x86
│ │ │ ├───Microsoft.VC143.CRT
│ │ │ └───Microsoft.VC143.OPENMP
│ │ ├───x64
│ │ │ ├───Microsoft.VC143.CRT
│ │ │ ├───Microsoft.VC143.CXXAMP
│ │ │ └───Microsoft.VC143.OpenMP
│ │ └───x86
│ │ ├───Microsoft.VC143.CRT
│ │ ├───Microsoft.VC143.CXXAMP
│ │ └───Microsoft.VC143.OPENMP
│ └───v143
└───Tools
├───Llvm
│ ├───bin
│ └───x64
│ └───bin
└───MSVC
└───14.34.31933
├───Auxiliary
├───bin
│ ├───Hostx64
│ │ ├───x64
│ │ │ ├───1033
│ │ │ └───onecore
│ │ └───x86
│ │ └───1033
│ └───Hostx86
│ ├───x64
│ │ └───1033
│ └───x86
│ └───1033
├───crt
│ └───src
│ ├───concrt
│ ├───i386
│ ├───linkopts
│ ├───stl
│ ├───vccorlib
│ ├───vcruntime
│ └───x64
├───include
│ ├───cliext
│ ├───CodeAnalysis
│ ├───cvt
│ ├───experimental
│ ├───fuzzer
│ ├───Manifest
│ ├───msclr
│ │ └───com
│ └───sanitizer
└───lib
├───onecore
│ ├───arm
│ ├───x64
│ └───x86
├───x64
│ ├───onecore
│ ├───store
│ └───uwp
└───x86
├───onecore
├───store
│ └───references
└───uwp
所以我的问题是我应该在我的路径中添加什么?
我可以重现您的问题:
由于您是基于Windows的,您可以尝试以下步骤:
pip install --upgrade pip
pip install --upgrade setuptools wheel
如果上述步骤仍然无法使其在您这边工作,我认为问题应该来自于源没有whl文件。因为pip会从https://pypi.org/搜索包,但是在这个地方,我没有看到pycuda有whl的包。
基于此,我从其他地方找到了pycuda的whl文件,通过以下方式下载并安装包:
python -m pip install packagefilename.whl
在我这边效果很好,我可以在最后安装它:
pip install pipwin
pipwin install pycuda