No PyPulse.cp39-win_amd64.pyd in install/bin

I am trying to use PyCharm to run the HowTo scripts and am running into the error that the PyPulse module is not being detected. I saw other posts about this and the solution had to do with the PyPulse.cp39-win_amd64.pyd file. I went into my install/bin and cannot find this file. Did I not complete the build correctly?

Did you check the Python API support in CMake?

You should have this pybind11 folder in your build tree here

image

I did check that box and I do have that folder.

Are you using visual studio?

You should have this PyPulse project in the Innerbuild/Pulse.sln

I am using PyCharm.

How did you build Pulse?

I followed these instructions:


However, I was unable to make the “make -j4” command work. So I went into VSCode and built it from there.

Sounds like there was an error in the build

Can you try to find that error?

I assume that the error was with building the PyPulse project

You can try to cd into the build/Innerbuild directory

Then do make PyPulse

That should try to build PyPulse and you can see if there is an error

I get this error when I run “make PyPulse”: make: *** No rule to make target ‘PyPulse’. Stop.

If you enter make and hit tab twice (Rather than enter) on the command line, you will get a list of make targets. Mine looks like this:

Mine looks like this:

Oh, you are on windows using msvc

So open the Pulse.sln and right click and build the PyPulse project


This is what I get when I open the sln file in vscode. If I try to open any of the drop downs to fine PyPulse, the file crashes.

That is the Pulse.sln in your build directory.
There should be another Pulse.sln in the Innerbuild directory in your build directory. Can you open that one and look for PyPulse?


There does not seem to be PyPulse in this sln file either.

Since the outer build solution does not have a pybid11 project under external, and the inner build solution does not have PyPulse in it. I don’t believe that the Pulse python option was enabled when you ran (configure and generate) cmake. Maybe cmake could not find python on your system when you configured it…

Can you try executing the build process again? Look for any errors in the cmake gui about python.
When you open the first pulse solution, you should have eigen, protobuf, and pybind11 projects when the python support is enabled in the cmake gui.

This is the message I get when I configure on CMAKE with the python API box checked:

Using preset install directory C:/Users/14438/Desktop/Programming/builds/pulse-engine/install
Using python: C:/Users/14438/AppData/Local/Programs/Python/Python39/python.exe
Optimizing your superbuild experience
SuperBuild - First pass
Building multiple protobuf configurations at once
SuperBuild - First pass - done
SuperBuild - Pulse => Requires Eigen3, protobuf, pybind11,
SuperBuild - Eigen3[OK]
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy’s OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
cmake/utilities/AddExternalProject.cmake:87 (ExternalProject_add)
cmake/external/External_Eigen3.cmake:6 (add_external_project_ex)
cmake/utilities/SolveDependencies.cmake:868 (include)
cmake/utilities/SolveDependencies.cmake:942 (ExternalProject_Include_Dependencies)
cmake/external/CMakeLists.txt:86 (ExternalProject_Include_Dependencies)
This warning is for project developers. Use -Wno-dev to suppress it.

Eigen3_DIR : C:/Users/14438/Desktop/Programming/builds/pulse-engine/External/Eigen3/install/share/eigen3/cmake
Building multiple protobuf configurations at once
SuperBuild - protobuf[OK]
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy’s OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
cmake/utilities/AddExternalProject.cmake:87 (ExternalProject_add)
cmake/external/External_protobuf.cmake:46 (add_external_project_ex)
cmake/utilities/SolveDependencies.cmake:868 (include)
cmake/utilities/SolveDependencies.cmake:942 (ExternalProject_Include_Dependencies)
cmake/external/CMakeLists.txt:86 (ExternalProject_Include_Dependencies)
This warning is for project developers. Use -Wno-dev to suppress it.

protobuf_DIR : C:/Users/14438/Desktop/Programming/builds/pulse-engine/External/protobuf/install/cmake
SuperBuild - pybind11[OK]
CMake Warning (dev) at C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:3136 (message):
The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is
not set. The policy’s OLD behavior will be used. When using a URL
download, the timestamps of extracted files should preferably be that of
the time of extraction, otherwise code that depends on the extracted
contents might not be rebuilt if the URL changes. The OLD behavior
preserves the timestamps from the archive instead, but this is usually not
what you want. Update your project to the NEW behavior or specify the
DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this
robustness issue.
Call Stack (most recent call first):
C:/Program Files/CMake/share/cmake-3.27/Modules/ExternalProject.cmake:4345 (_ep_add_download_command)
cmake/utilities/AddExternalProject.cmake:87 (ExternalProject_add)
cmake/external/External_pybind11.cmake:7 (add_external_project_ex)
cmake/utilities/SolveDependencies.cmake:868 (include)
cmake/utilities/SolveDependencies.cmake:942 (ExternalProject_Include_Dependencies)
cmake/external/CMakeLists.txt:86 (ExternalProject_Include_Dependencies)
This warning is for project developers. Use -Wno-dev to suppress it.

pybind11_DIR : C:/Users/14438/Desktop/Programming/builds/pulse-engine/External/pybind11/install/share/cmake/pybind11
SuperBuild - Pulse[OK]
Pulling the latest Pulse Baselines!
Configuring done (1.0s)

OK, give that a build

When I hit generate and then open project, it simply opens the sln file in plain text. How do I go about completing the build?

Open the sln file with visual studio