gimli-org / gimli

Geophysical Inversion and Modeling Library :earth_africa:
https://www.pygimli.org
Other
346 stars 131 forks source link

Question - ERROR: cannot import the library '_pygimli_'. #140

Closed AngelieP closed 5 years ago

AngelieP commented 5 years ago

Problem description

Installation final message error I properly installed Anaconda ans msys command shell. Then I followed the "Building pyGIMLI from source" procedure. The following message error appeared.

ERROR: cannot import the library 'pygimli'. Traceback (most recent call last): File "", line 1, in File "C:\msys64\home\portal\gimli\gimli\python\pygimli__init.py", line 57, in from . import core File "C:\msys64\home\portal\gimli\gimli\python\pygimli\core__init__.py", line 43, in from .. _logger import * File "C:\msys64\home\portal\gimli\gimli\python\pygimli_logger.py", line 44, in setDebug(False) File "C:\msys64\home\portal\gimli\gimli\python\pygimli_logger.py", line 31, in setDebug core.pygimli.setDebug(False) AttributeError: 'NoneType' object has no attribute 'setDebug' No module named 'pygimli.core.pygimli' Traceback (most recent call last): File "C:\msys64\home\portal\gimli\gimli\python\pygimli\core\init__.py", line 33, in from . pygimli import * ModuleNotFoundError: No module named 'pygimli.core.pygimli'

Finialize Set the following setting to use pygimli, either locally per session or permanently in your /home/portal/.bashrc

export PYTHONPATH=/home/portal/gimli/gimli/python export PATH=/home/portal/gimli/gimli/python/apps:$PATH

I update de .bashrc file. Is this a major problem and how to fix it? Can I use pyGIMLi despite this? Thank you!

Your environment

Operating system: Window 10 Python version: 3.6 pyGIMLi version : 0+untagged.1780.g86f2041 Way of installation**: curl script

carsten-forty2 commented 5 years ago

Maybe there were some problems during the build. Can you give some build logs to identify any prior problems?

You could also try the prebuild windows binary packages, they are usually quiet up to date.

AngelieP commented 5 years ago

I closed msys, restarted it and install again. Major components have been installed (good news) but the same error message appeared (bad news). Folowing, the log (sorry for the lenght):

Installing GIMLi for win64

~/gimli ~ ~/gimli/build ~/gimli ~ -- The C compiler identification is GNU 7.3.0 -- The CXX compiler identification is GNU 7.3.0 -- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe -- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe -- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found Git: C:/msys64/usr/bin/git.exe (found version "2.17.1") STATUS,TRUE STATUS,setting version from git description: v1.0.6-63-gf5068d4c -- Target is 64 bits -- ThirdParty set to: C:/msys64/home/portal/gimli/gimli/../thirdParty/ -- External set to: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - found -- Found Threads: TRUE -- Found PythonInterp: C:/ProgramData/Anaconda/python.exe (found suitable version "3.6.5", minimum required is "3") -- Trying to guess boost installation: -- no BOOST_INCLUDE_DIR -- reading C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/.boost-py3.dist -- BOOST_ROOT from C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/.boost-py3.dist: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36 -- Boost_INCLUDE_DIR, C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/include -- Boost version: 1.61.0 -- Boost is local False -- Boost found -- reading C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/.boost-py3.dist -- BOOST_ROOT from C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/.boost-py3.dist: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36 -- Boost_INCLUDE_DIR, C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/include -- BOOST_ROOT, C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36 -- Boost_INCLUDE_DIR, C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_610-gcc-7.3.0-64-py36/include -- Boost version: 1.61.0 -- Found the following Boost libraries: -- system -- thread -- chrono -- boost include: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/include -- Looking for C++ include boost/interprocess/managed_shared_memory.hpp -- Looking for C++ include boost/interprocess/managed_shared_memory.hpp - found -- Looking for C++ include boost/bind.hpp -- Looking for C++ include boost/bind.hpp - found -- HAVE_BOOST_INTERPROCESS_MANAGED_SHARED_MEMORY_HPP 1 C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/include -- Checking for package 'TRIANGLE' -- External dir: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- Triangle_INCLUDE_DIR = C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/include -- TriangleLIBRARIES = C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libtriangle.a -- Found Triangle: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libtriangle.a -- Triangle is local True -- Triangle found -- Looking for sgemm -- Looking for sgemm - found -- Found BLAS: C:/msys64/mingw64/lib/libopenblas.dll.a -- BLAS is local False -- BLAS found -- Looking for cheev -- Looking for cheev_ - found -- A library with LAPACK API found. -- LAPACK is local False -- LAPACK found -- Checking for package 'CHOLMOD' -- adding LAPACK_LIBRARIES to CHOLMOD PATH: C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a -- Found CHOLMOD: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcholmod.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libccolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libsuitesparseconfig.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a -- CHOLMOD_LIBRARIES: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcholmod.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libccolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libsuitesparseconfig.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a -- CHOLMOD is local False -- CHOLMOD found -- UMFPACK_LIBRARIES: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libumfpack.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libsuitesparseconfig.a -- Found UMFPACK: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/include -- ** TRUE -- openblas is used: C:/msys64/mingw64/lib/libopenblas.dll.a -- openblas is used: -- not found cppunit -- Found PythonLibs: C:/ProgramData/Anaconda/libs/libpython36.a (found version "3.6.5") -- Find python module numpy -- Result: 0 -- Output: C:\ProgramData\Anaconda\lib\site-packages\numpy\ -- Found numpy: C:\ProgramData\Anaconda\lib\site-packages\numpy\ CMake Warning at C:/msys64/mingw64/share/cmake-3.11/Modules/FindBoost.cmake:1723 (message): No header defined for python-py36; skipping header check Call Stack (most recent call first): CMakeLists.txt:331 (find_package)

-- Could NOT find Boost -- Boost version: 1.61.0 -- Found the following Boost libraries: -- python3 -- clang++ found : C:/msys64/mingw64/bin/clang.exe -- Found castxml executable: -- castxml is local True -- castxml found -- Found pygccxml path: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- pygccxml is local True -- pygccxml found -- Found pyplusplus path: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- pyplusplus is local True -- pyplusplus found -- ** -- Dependencies found -- ** -- THREADS :TRUE -- USE_BOOST_THREAD :TRUE C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/lib/libboost_thread-mt.dll -- CHOLMOD_LIBRARIES :C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcholmod.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libccolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libsuitesparseconfig.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a;C:/msys64/mingw64/lib/libopenblas.dll.a -- UMFPACK_LIBRARIES :C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libumfpack.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libcolamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libamd.a;C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libsuitesparseconfig.a -- TRIANGLE_FOUND :TRUE Triangle_LIBRARIES: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/lib/libtriangle.a -- PYTHON_FOUND :TRUE PYTHON_EXECUTABLE: C:/ProgramData/Anaconda/python.exe -- PYTHONLIBS_FOUND :TRUE PYTHON_LIBRARY: C:/ProgramData/Anaconda/libs/libpython36.a -- PYTHON_INCLUDE_DIR :C:/ProgramData/Anaconda/include -- Boost_PYTHON_FOUND :TRUE Boost_PYTHON_LIBRARY: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/boost_1_61_0-gcc-7.3.0-64-py36/lib/libboost_python3-mt.dll -- numpy_FOUND :TRUE PY_NUMPY: C:\ProgramData\Anaconda\lib\site-packages\numpy\ -- CASTER_FOUND :TRUE Caster: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64/bin/castxml.exe -- PYGCCXML_FOUND :TRUE PYGCCXML: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- PYPLUSPLUS_FOUND :TRUE PYPLUSPLUS_PATH: C:/msys64/home/portal/gimli/thirdParty/dist-GNU-7.3.0-64 -- ** -- pygimli can be build. run: make pygimli -- **

-- Found Doxygen: C:/msys64/mingw64/bin/doxygen.exe (found version "1.8.14") found components: doxygen missing components: dot -- Failed to locate sphinx-build executable (missing: SPHINX_EXECUTABLE) (Required is at least version "1.5") -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success CMake Warning (dev) at python/CMakeLists.txt:86: Syntax Warning in cmake code at column 67

Argument not separated from preceding token by whitespace. This warning is for project developers. Use -Wno-dev to suppress it.

carsten-forty2 commented 5 years ago

This is the cmake.log for prebuild configuration .. looks good so far.

Now the build itself might be interesting.

make pygimli and take a little coffee break

AngelieP commented 5 years ago

I did...such a short coffee break :-)

ERROR: cannot import the library 'pygimli'. Traceback (most recent call last): File "", line 1, in File "C:\msys64\home\portal\gimli\gimli\python\pygimli__init.py", line 57, in from . import core File "C:\msys64\home\portal\gimli\gimli\python\pygimli\core__init__.py", line 43, in from .. _logger import * File "C:\msys64\home\portal\gimli\gimli\python\pygimli_logger.py", line 44, in setDebug(False) File "C:\msys64\home\portal\gimli\gimli\python\pygimli_logger.py", line 31, in setDebug core.pygimli.setDebug(False) AttributeError: 'NoneType' object has no attribute 'setDebug' No module named 'pygimli.core.pygimli' Traceback (most recent call last): File "C:\msys64\home\portal\gimli\gimli\python\pygimli\core\init__.py", line 33, in from . pygimli import * ModuleNotFoundError: No module named 'pygimli.core.pygimli'


========================================================================= Finialize Set the following setting to use pygimli, either locally per session or permanently in your /home/portal/.bashrc

export PYTHONPATH=/home/portal/gimli/gimli/python export PATH=/home/portal/gimli/gimli/python/apps:$PATH

carsten-forty2 commented 5 years ago

ohh .. the build stops before the big part is supposed to start:

make[2]: *** Aucune règle pour fabriquer la cible « C:/ProgramData/Anaconda/libs/libpython36.a », nécessaire pour « bin/libgiml i.dll ». Arrêt.

Is there such a file "C:/ProgramData/Anaconda/libs/libpython36.a"? or something similar?

I will take a look into the config script to try handle this .. I never tried with anaconda before.

AngelieP commented 5 years ago

There is a "C:/ProgramData/Anaconda/libs/libpython36.lib" file yes (just a different extension). Anaconda is the usual python distribution we use but if necessary I can change to WinPython.

halbmy commented 5 years ago

No, it is not necessary to switch to WinPython (even different WinPython versions provide different files). Very strange indeed, my Anaconda version (5.0.1, I guess you have 5.1?) has a file libpython36.a and no libpython36.lib in the libs directory. Therefore building works on my Windows computer (which I used to create the binary versions). At any rate, both are essentially the same files and can be copied into another.

By the way, why are you building pyGIMLi from the sources? The easier way is to install the binary versions provided on pygimli.org.

AngelieP commented 5 years ago

Sorry for my late reply. I finally install BERT only which is necessary for my present work. And it works well now. Thank you for you help. Regards, Angélie.

carsten-forty2 commented 5 years ago

good .. then we can close this issue

Coastal0 commented 5 years ago

[For your general information]

I've recently refreshed my Conda install (to v5.3.0) and get the same error.

In my '\anaconda3\libs\' folder I have

_tkinter.lib
python3.lib
python37.lib

I have no python36.lib

florian-wagner commented 5 years ago

Please do conda install python=3.6 for now.

Binary packages are not build against Python 3.7 yet.

halbmy commented 5 years ago

As Python 3.7 seems to be the default on both Linux and Windows now, we should really provide binary packages (conda, wheel/msi) for both Python 3.6 and 3.7 (while 3.5 can possibly be dropped? ). I am just downloading Anaconda 5.3 for Windows and start building.

florian-wagner commented 5 years ago

@Coastal0 Just released a new conda package. Could you please try if conda -c gimli install pygimli=1.0.9 works for you now under linux (and installs python 3.7) ?

Thanks a lot.