jonnyhyman/Chaos

Numba 0.49

Closed this issue · 1 comments

John,
On Win10 with Python 3.8, it seems Numba 0.49 does not work for logistic_interactive.py

"> python logistic_interactive.py
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\numba\core\typeconv\typeconv.py", line 4, in <module>
    from numba.core.typeconv import _typeconv
ImportError: DLL load failed while importing _typeconv: The specified module could not be found.
"

I googled that and it seems some other folks seem to complain about latest version.

Remediation:

Step 1: pip uninstall numba
Step 2: force older version: > pip install numba==0.48

Collecting numba==0.48
  Downloading numba-0.48.0-1-cp38-cp38-win_amd64.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 1.7 MB/s
Collecting llvmlite<0.32.0,>=0.31.0dev0
  Downloading llvmlite-0.31.0-cp38-cp38-win_amd64.whl (13.6 MB)
     |████████████████████████████████| 13.6 MB 2.2 MB/s
Requirement already satisfied: setuptools in c:\program files\python38\lib\site-packages (from numba==0.48) (41.2.0)
Requirement already satisfied: numpy>=1.15 in c:\program files\python38\lib\site-packages (from numba==0.48) (1.18.3)
Installing collected packages: llvmlite, numba
  Attempting uninstall: llvmlite
    Found existing installation: llvmlite 0.32.0
    Uninstalling llvmlite-0.32.0:
      Successfully uninstalled llvmlite-0.32.0
Successfully installed llvmlite-0.31.0 numba-0.48.0


with that it seems to work with 2 deprecation warnings:

python logistic_interactive.py
logistic_interactive.py:533: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.rate.setValue( linear_interp(self.rateval,
logistic_interactive.py:551: DeprecationWarning: an integer is required (got type float).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
  self.ipop.setValue( linear_interp(self.ipopval,

Copy that, looks like a need to change the way linear_interp works... perhaps just replace it with numpy.interp

A bit busy at the moment but this looks like a pretty fast thing to fix, if anyone would like to take it on and make a pull request?