Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PyDSTool doesn't fully run on Windows 10 with 64 bits #160

Open
alex-51 opened this issue Dec 19, 2020 · 3 comments
Open

PyDSTool doesn't fully run on Windows 10 with 64 bits #160

alex-51 opened this issue Dec 19, 2020 · 3 comments

Comments

@alex-51
Copy link

alex-51 commented Dec 19, 2020

Hello

I installed PyDSTool on Windows 10 with 64 bits.
I have Anaconda3/64-bit and Python 3.7.

PyDSTool installation was done using pip:
pip install git+https://github.com/robclewley/pydstool.git

Before installing PyDSTool, I installed SWIG and C and Fortran compilers using conda:

conda install -c anaconda swig
conda install -c conda-forge c-compiler
conda install -c conda-forge clang
conda install -c conda-forge python-clang
conda install -c msys2 m2w64-gcc-objc
conda install -c conda-forge fortran-compiler

I ran the following subset of “all” tests to do initial check of PyDSTool:
Basic PyDSTool modules
Map generators
ODE integration with vode, no external compiler needed
Parameter estimation module
Parameter estimation, requires external C compiler
Symbolic differentiation module
Continuation; no external compilers needed

The following tests failed:

Basic PyDSTool modules:

  • traj_gt0_test.py

ODE integration with vode, no external compiler needed

  • HH_model_testbounds.py

Parameter estimation, requires external C compiler

  • pest_test3_Cintegrator.py
  • pest_test4_Cintegrator.py

Continuation; no external compilers needed

  • PyCont_ABCReaction.py
  • PyCont_Hopfield.py
  • PyCont_Logistic.py
  • PyCont_SaddleNode.py

Note that tests PyCont_ABCReaction.py and PyCont_Hopfield.py sometimes fail and sometimes don't. They didn't fail after computer reboot.

Attached file contains more details on error messages for each test.

PyDSTool_issues_v2.docx

@robclewley
Copy link
Owner

Thanks. I've fixed most of the easy issues with the examples in my rob-fixes1 branch and I'm now onto the PyCont ones. Testing on Windows will be next.

@robclewley
Copy link
Owner

robclewley commented Jan 7, 2021

I'll follow up when I get on my Windows machine, but I'm not sure anything will have changed since the same issue came up several years ago. Basically, windows binaries for python and other libraries are compiled using MSVC, which is not compatible to link with distutils building DLLs using gcc.

I'd heard that changing the default compiler with

[Build]
compiler = mingw-w64

in your python installation's Lib\distutils\distutils.cfg file may help, but I don't see any evidence from the source file that distutils supports 64-bit mingw. And there seem to be outstanding complaints related to this. The last link notes: "MSYS2 patches setuptools to work with GCC and the MSYS2 Python, so you can't use setuptools as is from pip. See https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-python-setuptools for the current set of patches." I'm not personally familiar with what to do with those, exactly, so you might have to explore further.

If not, you'll probably have to either build your whole stack from source using gcc, use an unofficial binary from http://www.lfd.uci.edu/~gohlke/pythonlibs/, or have a MSVC-compatible C compiler on hand (typically not a free product). Or, run PyDSTool on linux or mac.

@alex-51
Copy link
Author

alex-51 commented Jan 7, 2021

Thanks for looking into reported issues.

I've already switched to Linux and installed PyDSTool. This went relatively smoothly. Then I ran several examples including those which call Dopri/Radau and AUTO. There were few errors thrown when running examples which called PyCont. I want to write a separate issue with details of tests which failed. I was also able to use PyDSTool (in Linux) for my project for which I needed to calculate a Phase Response Curve.

I'll be waiting for results of your running the tool in Windows environment. Until then I'll probably continue further exploring PyDSTool in Linux environment.

Thanks again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants