KVSlab / turtleFSI

Monolithic Fluid-Structure Interaction (FSI) solver
https://turtlefsi2.readthedocs.io/en/latest/
GNU General Public License v3.0
63 stars 24 forks source link

Try modifying turtle env to only force minimum bound on python. #47

Closed jorgensd closed 1 year ago

jorgensd commented 1 year ago

Docker tests:

Conda tests:

keiyamamo commented 1 year ago

I tested this with conda but python3.11 failed with the following error message

$ python monolithic.py 
/Applications/anaconda3/envs/kame_test/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer, pypa/build or
        other standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
In file included from /Users/keiyamamoto/Documents/turtleFSI/turtleFSI/utils/probe/.rendered.probe11.cpp:7:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/pybind11.h:43:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/attr.h:13:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/cast.h:16:
/Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/detail/internals.h:194:9: warning: 'PyEval_InitThreads' is deprecated [-Wdeprecated-declarations]
        PyEval_InitThreads();
        ^
/Applications/anaconda3/envs/kame_test/include/python3.11/ceval.h:132:1: note: 'PyEval_InitThreads' has been explicitly marked deprecated here
Py_DEPRECATED(3.9) PyAPI_FUNC(void) PyEval_InitThreads(void);
^
/Applications/anaconda3/envs/kame_test/include/python3.11/pyport.h:336:54: note: expanded from macro 'Py_DEPRECATED'
#define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
                                                     ^
In file included from /Users/keiyamamoto/Documents/turtleFSI/turtleFSI/utils/probe/.rendered.probe11.cpp:7:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/pybind11.h:43:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/attr.h:13:
/Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/cast.h:441:36: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                "  " + handle(frame->f_code->co_filename).cast<std::string>() +
                                   ^
/Applications/anaconda3/envs/kame_test/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
typedef struct _frame PyFrameObject;
               ^
In file included from /Users/keiyamamoto/Documents/turtleFSI/turtleFSI/utils/probe/.rendered.probe11.cpp:7:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/pybind11.h:43:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/attr.h:13:
/Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/cast.h:443:29: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
                handle(frame->f_code->co_name).cast<std::string>() + "\n";
                            ^
/Applications/anaconda3/envs/kame_test/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
typedef struct _frame PyFrameObject;
               ^
In file included from /Users/keiyamamoto/Documents/turtleFSI/turtleFSI/utils/probe/.rendered.probe11.cpp:7:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/pybind11.h:43:
In file included from /Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/attr.h:13:
/Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/cast.h:444:26: error: member access into incomplete type 'PyFrameObject' (aka '_frame')
            frame = frame->f_back;
                         ^
/Applications/anaconda3/envs/kame_test/include/python3.11/pytypedefs.h:22:16: note: forward declaration of '_frame'
typedef struct _frame PyFrameObject;
               ^
In file included from /Users/keiyamamoto/Documents/turtleFSI/turtleFSI/utils/probe/.rendered.probe11.cpp:7:
/Applications/anaconda3/envs/kame_test/include/python3.11/pybind11/pybind11.h:1890:49: error: no member named 'frame' in '_ts'
    PyFrameObject *frame = PyThreadState_Get()->frame;
                           ~~~~~~~~~~~~~~~~~~~  ^
1 warning and 4 errors generated.
error: command '/usr/bin/clang' failed with exit code 1

I created a test environment with

conda env update --file environment.yml --name kame_test

and after that I activated the environment and used

python3 -m pip install --editable .
jorgensd commented 1 year ago

python3 -m pip install --editable .

Could you try

python3 -m pip install --editable . --no-deps

in a new env (as that is what is used in the CI)

keiyamamo commented 1 year ago

I upgraded pip and setup tools as follows and that worked out!

pip3 install --upgrade pip

Then,

python3 -m pip install --upgrade setuptools