0

So I try python -m pip install pycuda and it fails (Here's some of the output from the failed install):

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

I have installed the Visual Studio 2022 build tools but I have not added anything to my path, which is all I figure I have todo but I don't know what I have to add. The pycuda wiki's installation page specifies

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;

but I don't have those directories. Here's the tree of my visual studio install D:\VisualStudioThings\install\VC. (I cannot include the tree for the whole install because it's too much)

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

So my question is what do I add to my path?

Bowman Zhu-MSFT
  • 4,776
  • 1
  • 9
  • 10
kpie
  • 9,588
  • 5
  • 28
  • 50

1 Answers1

0

I can reproduce your issue:

enter image description here

Since you are based on windows, you can try the below steps:

pip install --upgrade pip

pip install --upgrade setuptools wheel

If the above steps still don't make it work on your side, I think the issue should comes from the source doesn't have whl file. Because pip will search package from https://pypi.org/, but in this place, I don't see the package pycuda has whl there.

Based on this, I found whl file of pycuda from other place, download it and install the package via this:

python -m pip install packagefilename.whl

It works well on my side, I can install it at the end:

enter image description here

Bowman Zhu-MSFT
  • 4,776
  • 1
  • 9
  • 10