mdolab / pyspline

pySpline produces B-spline curves, surfaces, and volumes
Other
39 stars 26 forks source link

Issue with installation #43

Closed Aviatims closed 2 years ago

Aviatims commented 2 years ago

Hello,

I have tried to install pyspline on my windows notebook, but when I run the script for a FFD mesh, I get the following error message: ImportError: cannot import name 'libspline' from partially initialized module 'pyspline' (most likely due to a circular import) (C:\Users\timsc\AppData\Local\Continuum\anaconda3\envs\suave\lib\site-packages\pyspline__init__.py)

I was not sure about the installation procedure provided on th website: https://mdolab-pyspline.readthedocs-hosted.com/en/latest/building.html

Is this not designed for windows, or can I neglect the first steps of building the fortran library (I assume that this is where the error lies)?

All the best!

bernardopacini commented 2 years ago

The Fortran installation is required for pySpline, without it the code is missing its core. We do not support Windows, though you may be able to use the Linux subsystem. Please review the installation guide for supported operating systems and requirements.

Aviatims commented 2 years ago

Thank you for your fast response! I was already suspecting this. Unfortunately I couldn't see in the installation guide (https://mdolab-pyspline.readthedocs-hosted.com/en/latest/building.html) which version is supported, but assumed windows was not supported..

Is it then not possible to run PyGeo on windows as it requires PySpline? I need PyGeo to use the FFD mesh feature in OpenAeroStruct.

I will give it a try by using Linux Subsystem, this would have been my next step, if there is no easier method.

ewu63 commented 2 years ago

Yeah we can probably update the docs. pySpline belongs to a group of packages we call MACH with installation instructions here. pySpline is rarely used outside of that context and its integration with OAS is not supported beyond Linux. As you said, WSL is probably your best bet. At the moment we primarily support Linux since that's the OS we all use internally.