Nicholaswogan / NumbaMinpack

Python wrapper of Minpack (root finding) which can be called from within numba functions.
MIT License
32 stars 2 forks source link

Issues installing on Windows #4

Open JonElsey opened 1 year ago

JonElsey commented 1 year ago

Hi

First off - thanks for making this and making it public - it's been a really useful resource for a project I'm working on!

I have been working with NumbaMinpack on a Windows PC and I've not had issues, after installing the prerequisites. I tried porting the project to a different Windows machine, on which I have gfortran and cmake. Installing via pip finishes with no errors, however when I try and import the module in Python I now get the error:

 import NumbaMinpack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\sglje1\AppData\Roaming\Python\Python39\site-packages\NumbaMinpack\__init__.py", line 1, in <module>
    from .driver import *
  File "C:\Users\sglje1\AppData\Roaming\Python\Python39\site-packages\NumbaMinpack\driver.py", line 19, in <module>
    minpack = ct.CDLL(rootdir+name)
  File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\Users\sglje1\AppData\Roaming\Python\Python39\site-packages\NumbaMinpack\libminpack.dll' (or one of its dependencies). Try using the full path with constructor syntax.

I tried various solutions relating to CDLL, including reinstalling Visual Studio C++ Redistributable, but no dice. Looking at libminpack.dll itself, it is significantly smaller than the corresponding .dll in the version of Windows which does work (134 KB vs 1753 KB), so I imagine it is likely not installing properly, but given there aren't any errors I'm not sure what the issue could be. Replacing the .dll file with the "working" version seems to fix the issue, which works in the short term but it would still be useful so that collaborators could run the model/do tests without needing to log into their HPC systems! Any ideas what the problem may be?

Cheers,

Jon

Nicholaswogan commented 1 year ago

No problem!

Can you please try run the following command in the command prompt, then send all the output text?

python -m pip install NumbaMinpack -v 
JonElsey commented 1 year ago

Hi again,

Here is the full traceback.

Using pip 22.3.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.9)
Defaulting to user installation because normal site-packages is not writeable
Collecting NumbaMinpack
  Downloading NumbaMinpack-0.1.3.tar.gz (25 kB)
  Running command pip subprocess to install build dependencies
  Collecting setuptools>=42
    Using cached setuptools-67.6.0-py3-none-any.whl (1.1 MB)
  Collecting wheel
    Using cached wheel-0.40.0-py3-none-any.whl (64 kB)
  Collecting scikit-build
    Using cached scikit_build-0.16.7-py3-none-any.whl (79 kB)
  Collecting cmake>=3.18
    Using cached cmake-3.26.0-py2.py3-none-win_amd64.whl (33.0 MB)
  Collecting ninja
    Using cached ninja-1.11.1-py2.py3-none-win_amd64.whl (313 kB)
  Collecting packaging
    Using cached packaging-23.0-py3-none-any.whl (42 kB)
  Collecting distro
    Using cached distro-1.8.0-py3-none-any.whl (20 kB)
  Installing collected packages: ninja, cmake, wheel, setuptools, packaging, distro, scikit-build
  ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
  spyder 5.2.2 requires pyqt5<5.13, but you have pyqt5 5.15.7 which is incompatible.
  spyder 5.2.2 requires pyqtwebengine<5.13, but you have pyqtwebengine 5.15.6 which is incompatible.
  conda-repo-cli 1.0.27 requires clyent==1.2.1, but you have clyent 1.2.2 which is incompatible.
  conda-repo-cli 1.0.27 requires nbformat==5.4.0, but you have nbformat 5.7.0 which is incompatible.
  Successfully installed cmake-3.26.0 distro-1.8.0 ninja-1.11.1 packaging-23.0 scikit-build-0.16.7 setuptools-67.6.0 wheel-0.40.0
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\dist.py:788: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
    warnings.warn(
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\config\setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)
  running egg_info
  creating NumbaMinpack.egg-info
  writing NumbaMinpack.egg-info\PKG-INFO
  writing dependency_links to NumbaMinpack.egg-info\dependency_links.txt
  writing requirements to NumbaMinpack.egg-info\requires.txt
  writing top-level names to NumbaMinpack.egg-info\top_level.txt
  writing manifest file 'NumbaMinpack.egg-info\SOURCES.txt'
  reading manifest file 'NumbaMinpack.egg-info\SOURCES.txt'
  adding license file 'LICENSE.txt'
  writing manifest file 'NumbaMinpack.egg-info\SOURCES.txt'
  Getting requirements to build wheel ... done
  Running command Preparing metadata (pyproject.toml)
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\dist.py:788: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
    warnings.warn(
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\config\setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)
  running dist_info
  creating C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info
  writing C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\PKG-INFO
  writing dependency_links to C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\dependency_links.txt
  writing requirements to C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\requires.txt
  writing top-level names to C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\top_level.txt
  writing manifest file 'C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\SOURCES.txt'
  reading manifest file 'C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\SOURCES.txt'
  adding license file 'LICENSE.txt'
  writing manifest file 'C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack.egg-info\SOURCES.txt'
  creating 'C:\Users\sglje1\AppData\Local\Temp\pip-modern-metadata-1mmgx7uq\NumbaMinpack-0.1.3.dist-info'
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in c:\programdata\anaconda3\lib\site-packages (from NumbaMinpack) (1.21.5)
Requirement already satisfied: numba in c:\programdata\anaconda3\lib\site-packages (from NumbaMinpack) (0.56.4)
Requirement already satisfied: setuptools in c:\programdata\anaconda3\lib\site-packages (from numba->NumbaMinpack) (65.6.3)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in c:\programdata\anaconda3\lib\site-packages (from numba->NumbaMinpack) (0.39.1)
Building wheels for collected packages: NumbaMinpack
  Running command Building wheel for NumbaMinpack (pyproject.toml)
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\dist.py:788: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead
    warnings.warn(
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\setuptools\config\setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)

  --------------------------------------------------------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  -- The C compiler identification is MSVC 19.35.32215.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.35.32215/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is MSVC 19.35.32215.0
  CMake Warning (dev) at C:/Users/sglje1/AppData/Local/Temp/pip-build-env-lr97esvv/overlay/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:168 (if):
    Policy CMP0054 is not set: Only interpret if() arguments as variables or
    keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
    details.  Use the cmake_policy command to set the policy and suppress this
    warning.

    Quoted variables like "MSVC" will no longer be dereferenced when the policy
    is set to NEW.  Since the policy is not set the OLD behavior will be used.
  Call Stack (most recent call first):
    CMakeLists.txt:4 (ENABLE_LANGUAGE)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning (dev) at C:/Users/sglje1/AppData/Local/Temp/pip-build-env-lr97esvv/overlay/Lib/site-packages/cmake/data/share/cmake-3.26/Modules/CMakeDetermineCXXCompiler.cmake:189 (elseif):
    Policy CMP0054 is not set: Only interpret if() arguments as variables or
    keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
    details.  Use the cmake_policy command to set the policy and suppress this
    warning.

    Quoted variables like "MSVC" will no longer be dereferenced when the policy
    is set to NEW.  Since the policy is not set the OLD behavior will be used.
  Call Stack (most recent call first):
    CMakeLists.txt:4 (ENABLE_LANGUAGE)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/VC/Tools/MSVC/14.35.32215/bin/Hostx86/x64/cl.exe - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done (6.1s)
  -- Generating done (0.0s)
  -- Build files have been written to: C:/Users/sglje1/AppData/Local/Temp/pip-install-3ij71jmt/numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying 'Ninja (Visual Studio 17 2022 x64 v143)' generator - success
  --------------------------------------------------------------------------------

  Configuring Project
    Working directory:
      C:\Users\sglje1\AppData\Local\Temp\pip-install-3ij71jmt\numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb\_skbuild\win-amd64-3.9\cmake-build
    Command:
      'C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\cmake\data\bin/cmake.exe' 'C:\Users\sglje1\AppData\Local\Temp\pip-install-3ij71jmt\numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb' -G Ninja '-DCMAKE_INSTALL_PREFIX:PATH=C:\Users\sglje1\AppData\Local\Temp\pip-install-3ij71jmt\numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb\_skbuild\win-amd64-3.9\cmake-install' -DPYTHON_VERSION_STRING:STRING=3.9.15 -DSKBUILD:INTERNAL=TRUE '-DCMAKE_MODULE_PATH:PATH=C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\skbuild\resources\cmake' '-DPYTHON_EXECUTABLE:PATH=C:\ProgramData\Anaconda3\python.exe' '-DPYTHON_INCLUDE_DIR:PATH=C:\ProgramData\Anaconda3\Include' '-DPYTHON_LIBRARY:PATH=C:\ProgramData\Anaconda3\libs\python39.lib' '-DPython_EXECUTABLE:PATH=C:\ProgramData\Anaconda3\python.exe' '-DPython_ROOT_DIR:PATH=C:\ProgramData\Anaconda3' '-DPython_INCLUDE_DIR:PATH=C:\ProgramData\Anaconda3\Include' -DPython_FIND_REGISTRY:STRING=NEVER '-DPython3_EXECUTABLE:PATH=C:\ProgramData\Anaconda3\python.exe' '-DPython3_ROOT_DIR:PATH=C:\ProgramData\Anaconda3' '-DPython3_INCLUDE_DIR:PATH=C:\ProgramData\Anaconda3\Include' -DPython3_FIND_REGISTRY:STRING=NEVER '-DCMAKE_MAKE_PROGRAM:FILEPATH=C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\ninja\data\bin\ninja' -DSKBUILD=ON -DCMAKE_BUILD_TYPE:STRING=Release

  -- The Fortran compiler identification is GNU 10.3.0
  -- Detecting Fortran compiler ABI info
  -- Detecting Fortran compiler ABI info - done
  -- Check for working Fortran compiler: C:/TDM-GCC-64/bin/gfortran.exe - skipped
  -- Configuring done (3.9s)
  -- Generating done (0.0s)
  CMake Warning:
    Manually-specified variables were not used by the project:

      PYTHON_EXECUTABLE
      PYTHON_INCLUDE_DIR
      PYTHON_LIBRARY
      PYTHON_VERSION_STRING
      Python3_EXECUTABLE
      Python3_FIND_REGISTRY
      Python3_INCLUDE_DIR
      Python3_ROOT_DIR
      Python_EXECUTABLE
      Python_FIND_REGISTRY
      Python_INCLUDE_DIR
      Python_ROOT_DIR

  -- Build files have been written to: C:/Users/sglje1/AppData/Local/Temp/pip-install-3ij71jmt/numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb/_skbuild/win-amd64-3.9/cmake-build
  [1/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/minpack.f90-pp.f90
  [2/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/dpmpar.f-pp.f
  [3/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/dogleg.f-pp.f
  [4/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/enorm.f-pp.f
  [5/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/fdjac2.f-pp.f
  [6/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/fdjac1.f-pp.f
  [7/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/hybrd1.f-pp.f
  [8/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/hybrd.f-pp.f
  [9/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/lmdif.f-pp.f
  [10/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/lmdif1.f-pp.f
  [11/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/lmpar.f-pp.f
  [12/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/qform.f-pp.f
  [13/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/qrfac.f-pp.f
  [14/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/r1mpyq.f-pp.f
  [15/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/qrsolv.f-pp.f
  [16/35] Building Fortran preprocessed CMakeFiles/minpack.dir/src/r1updt.f-pp.f
  [17/35] Generating Fortran dyndep file CMakeFiles/minpack.dir/Fortran.dd
  [18/35] Building Fortran object CMakeFiles/minpack.dir/src/enorm.f.obj
  [19/35] Building Fortran object CMakeFiles/minpack.dir/src/dpmpar.f.obj
  [20/35] Building Fortran object CMakeFiles/minpack.dir/src/fdjac2.f.obj
  [21/35] Building Fortran object CMakeFiles/minpack.dir/src/hybrd1.f.obj
  [22/35] Building Fortran object CMakeFiles/minpack.dir/src/minpack.f90.obj
  [23/35] Building Fortran object CMakeFiles/minpack.dir/src/dogleg.f.obj
  [24/35] Building Fortran object CMakeFiles/minpack.dir/src/fdjac1.f.obj
  [25/35] Building Fortran object CMakeFiles/minpack.dir/src/lmdif1.f.obj
  [26/35] Building Fortran object CMakeFiles/minpack.dir/src/hybrd.f.obj
  [27/35] Building Fortran object CMakeFiles/minpack.dir/src/lmdif.f.obj
  [28/35] Building Fortran object CMakeFiles/minpack.dir/src/qform.f.obj
  [29/35] Building Fortran object CMakeFiles/minpack.dir/src/r1mpyq.f.obj
  [30/35] Building Fortran object CMakeFiles/minpack.dir/src/qrsolv.f.obj
  [31/35] Building Fortran object CMakeFiles/minpack.dir/src/r1updt.f.obj
  [32/35] Building Fortran object CMakeFiles/minpack.dir/src/qrfac.f.obj
  [33/35] Building Fortran object CMakeFiles/minpack.dir/src/lmpar.f.obj
  [34/35] Linking Fortran shared library libminpack.dll
  [34/35] Install the project...-- Install configuration: "Release"
  -- Installing: C:/Users/sglje1/AppData/Local/Temp/pip-install-3ij71jmt/numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb/_skbuild/win-amd64-3.9/cmake-install/NumbaMinpack/libminpack.dll.a
  -- Installing: C:/Users/sglje1/AppData/Local/Temp/pip-install-3ij71jmt/numbaminpack_b8d5a7ab5c32467ab05ac3a50cb60afb/_skbuild/win-amd64-3.9/cmake-install/NumbaMinpack/libminpack.dll

  copying NumbaMinpack\driver.py -> _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\driver.py
  copying NumbaMinpack\__init__.py -> _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\__init__.py

  running bdist_wheel
  running build
  running build_py
  creating _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39
  creating _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack
  copying _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\driver.py -> _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack
  copying _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\__init__.py -> _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack
  copying _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\libminpack.dll.a -> _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack
  copying _skbuild\win-amd64-3.9\cmake-install\NumbaMinpack\libminpack.dll -> _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack
  copied 2 files
  running build_ext
  installing to _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel
  running install
  running install_lib
  creating _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64
  creating _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel
  creating _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\NumbaMinpack
  copying _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack\driver.py -> _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\.\NumbaMinpack
  copying _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack\libminpack.dll -> _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\.\NumbaMinpack
  copying _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack\libminpack.dll.a -> _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\.\NumbaMinpack
  copying _skbuild\win-amd64-3.9\setuptools\lib.win-amd64-cpython-39\NumbaMinpack\__init__.py -> _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\.\NumbaMinpack
  copied 4 files
  running install_egg_info
  running egg_info
  writing NumbaMinpack.egg-info\PKG-INFO
  writing dependency_links to NumbaMinpack.egg-info\dependency_links.txt
  writing requirements to NumbaMinpack.egg-info\requires.txt
  writing top-level names to NumbaMinpack.egg-info\top_level.txt
  reading manifest file 'NumbaMinpack.egg-info\SOURCES.txt'
  adding license file 'LICENSE.txt'
  writing manifest file 'NumbaMinpack.egg-info\SOURCES.txt'
  Copying NumbaMinpack.egg-info to _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\.\NumbaMinpack-0.1.3-py3.9.egg-info
  running install_scripts
  copied 0 files
  C:\Users\sglje1\AppData\Local\Temp\pip-build-env-lr97esvv\overlay\Lib\site-packages\wheel\bdist_wheel.py:100: RuntimeWarning: Config variable 'Py_DEBUG' is unset, Python ABI tag may be incorrect
    if get_flag("Py_DEBUG", hasattr(sys, "gettotalrefcount"), warn=(impl == "cp")):
  creating _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel\NumbaMinpack-0.1.3.dist-info\WHEEL
  creating 'C:\Users\sglje1\AppData\Local\Temp\pip-wheel-u7w_5adc\.tmp-xq_ee8jb\NumbaMinpack-0.1.3-cp39-cp39-win_amd64.whl' and adding '_skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel' to it
  adding 'NumbaMinpack/__init__.py'
  adding 'NumbaMinpack/driver.py'
  adding 'NumbaMinpack/libminpack.dll'
  adding 'NumbaMinpack/libminpack.dll.a'
  adding 'NumbaMinpack-0.1.3.dist-info/LICENSE.txt'
  adding 'NumbaMinpack-0.1.3.dist-info/METADATA'
  adding 'NumbaMinpack-0.1.3.dist-info/WHEEL'
  adding 'NumbaMinpack-0.1.3.dist-info/top_level.txt'
  adding 'NumbaMinpack-0.1.3.dist-info/RECORD'
  removing _skbuild\win-amd64-3.9\setuptools\bdist.win-amd64\wheel
  Building wheel for NumbaMinpack (pyproject.toml) ... done
  Created wheel for NumbaMinpack: filename=NumbaMinpack-0.1.3-cp39-cp39-win_amd64.whl size=55739 sha256=eb94ca9ab2532ac350c95ef418e25b595d2c634aac614d4dd8492b5889f5e206
  Stored in directory: C:\Users\sglje1\AppData\Local\Temp\pip-ephem-wheel-cache-nnl9m0f4\wheels\fd\ea\4e\ae6d3ae10b744ba442043fd7d1bd3c1e91f5185634bc44723d
Successfully built NumbaMinpack
Installing collected packages: NumbaMinpack
Successfully installed NumbaMinpack-0.1.3

Thanks for looking into this - much appreciated :)

Nicholaswogan commented 1 year ago

It seems like there are some Path issue possibly with your Python installation.

You Python is at through Anaconda C:\ProgramData\Anaconda3\. But for some reason NumbaMinpack is trying to be accessed from a different, non-Ananconda python:

 import NumbaMinpack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\sglje1\AppData\Roaming\Python\Python39\site-packages\NumbaMinpack\__init__.py", line 1, in <module>
...
FileNotFoundError: Could not find module 'C:\Users\sglje1\AppData\Roaming\Python\Python39\site-packages\NumbaMinpack\libminpack.dll' (or one of its dependencies). Try using the full path with constructor syntax.

NumbaMinpack should be in a folder located at C:\ProgramData\Anaconda3\lib\NumbaMinpack\. In this folder should be a file called libminpack.dll

JonElsey commented 1 year ago

I updated my Python PATH and reinstalled, NumbaMinpack is installed to \Anaconda3\lib\site-packages\NumbaMinpack, in which there is the file libminpack.dll, again with the smaller filesize as mentioned before. I get the same error as before:

>>> import NumbaMinpack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\site-packages\NumbaMinpack\__init__.py", line 1, in <module>
    from .driver import *
  File "C:\ProgramData\Anaconda3\lib\site-packages\NumbaMinpack\driver.py", line 19, in <module>
    minpack = ct.CDLL(rootdir+name)
  File "C:\ProgramData\Anaconda3\lib\ctypes\__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
FileNotFoundError: Could not find module 'C:\ProgramData\Anaconda3\Lib\site-packages\NumbaMinpack\libminpack.dll' (or one of its dependencies). Try using the full path with constructor syntax.

I tested using os.path.exists(rootdir+name) which returned True so I think it is probably something to do with the compilation of the .dll?

Nicholaswogan commented 1 year ago

Ya there must be an issue with the complilation. I don't have a windows computer to investigate, though.