ANTsX / ANTsPy

A fast medical imaging analysis library in Python with algorithms for registration, segmentation, and more.
https://antspyx.readthedocs.io
Apache License 2.0
648 stars 164 forks source link

Building wheel for antspyx did not run successfully. #715

Closed XiaopengZzh closed 1 month ago

XiaopengZzh commented 1 month ago

Bug :

I'm trying to install antspyx on my Windows machine. I just simply did 'pip install antspyx' but something went wrong with the wheel building. It seems like cmake cannot find ITK on my machine. Is there any quick solution for this? I saw the 'building_wheels' tag is 'passing' in the readme file so I guess there should be a easy way to solve this. Please help me out.

Btw my mac and linux can install antspyx very easily by 'pip install antspyx' but not windows because of this.

This is the detailed error I got after 'pip install antspyx'

image

cookpa commented 1 month ago

Can you use a pre-compiled wheel? Sometimes compatible wheels are not recognized correctly, you could try

SYSTEM_VERSION_COMPAT=0 pip install antspyx

When you build on Linux or Mac, does it build from source?

Are you using WSL or a powershell terminal here?

There might be more clues in the full output, if you can do something like

pip install antspyx | tee antspy_install.txt

And then attach antspy_install.txt to a comment

XiaopengZzh commented 1 month ago

Thank you so much for your reply!

I didn't build from source when building on Linux and mac. A simple 'pip install antspyx' works on linux and mac.

On windows, I'm not using WSL or powershell terminal. I'm just using the command prompt.

I got the output file from Windows. Please take a look. antspy_install.txt

cookpa commented 1 month ago

I've only built for Windows via cibuildwheel, but I see a couple of potential problems here

  CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
  CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
  CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
  -- Configuring incomplete, errors occurred!
  'ninja' is not recognized as an internal or external command,
  operable program or batch file.

ANTsPy uses Ninja to build, so you will need to install that, which I believe you can do with pip.

I'm a bit confused about the message "Error: CMAKE_CXX_COMPILER not set, after EnableLanguage", because elsewhere it appears to know. If problems persist after installing Ninja, maybe try opening developer command prompt and see if that helps.