daavoo / pyntcloud

pyntcloud is a Python library for working with 3D point clouds.
http://pyntcloud.readthedocs.io
MIT License
1.39k stars 221 forks source link

SciPy issue while using pip install #283

Closed OloOcki closed 3 years ago

OloOcki commented 4 years ago

Dear Community of pyntcloud,

I really enjoyed working with pyntcloud! I have made some testing within conda, Python 3.6 and everything worked perfectly.

Now, I would like to integrate pyntcloud to a software called FME. FME installs all the stuff via pip and uses Python 3.7 but cannot import the pyntcloud package somehow (i.e. some xml Python parser works). When I try to run it the following error occurs:

``` 2020-06-30 15:43:16| 0.5| 0.0|INFORM|Using Python interpreter fromC:\Program Files\FME\fmepython37\python37.dll' with PYTHONHOME C:\Program Files\FME\fmepython37' 2020-06-30 15:43:16| 0.5| 0.0|INFORM|Python version 3.7 loaded successfully 2020-06-30 15:43:16| 0.5| 0.0|INFORM|Adding folderC:\Users\SAVe\AppData\Local\Temp\' to the python path 2020-06-30 15:43:16| 0.5| 0.0|INFORM|Emptying factory pipeline 2020-06-30 15:43:17| 1.3| 0.8|ERROR |Python Exception : [WinError 126] The specified module could not be found 2020-06-30 15:43:17| 1.3| 0.0|ERROR |Error executing string `importfmeimportfmeobjectsimportpyntclouddefprocessFeaturefeature:pass' 2020-06-30 15:43:17| 1.3| 0.0|FATAL |Factory proxy not initialized 2020-06-30 15:43:17| 1.3| 0.0|FATAL |PythonCaller (PythonFactory): PythonFactory failed to process feature 2020-06-30 15:43:17| 1.3| 0.0|ERROR |A fatal error has occurred. Check the logfile above for details


Trying to look under the hood and with help of @fhildin from FME Forum the SciPy library seems to cause the problem:

` ```
   Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\pyntcloud\__init__.py", line 1, in <module>
        from .core_class import PyntCloud
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\pyntcloud\core_class.py", line 6, in <module>
        from .structures.base import StructuresDict
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\pyntcloud\structures\__init__.py", line 4, in <module>
        from .convex_hull import ConvexHull
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\pyntcloud\structures\convex_hull.py", line 2, in <module>
        from scipy.spatial import ConvexHull as scipy_ConvexHull
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\scipy\__init__.py", line 104, in <module>
        from . import _distributor_init
      File "C:\Users\mywindowsaccount\Documents\FME\Plugins\Python\scipy\_distributor_init.py", line 61, in <module>
        WinDLL(os.path.abspath(filename))
      File "D:\obj\windows-release\37amd64_Release\msi_python\zip_amd64\__init__.py", line 364, in __init__
    OSError: [WinError 126] The specified module could not be found

Do you know guys how to solve it? How to import pyntcloud properly? I guess that it is not a problem related to FME but rather to pyntcloud.

daavoo commented 3 years ago

Hola @OloOcki Could you share with me some details about how to replicate the installation enviroment where you are finding the issue?

OloOcki commented 3 years ago

Hi, Actually the problem is solved - it was on the FME side. Please find the solution here .

daavoo commented 3 years ago

Hi, Actually the problem is solved - it was on the FME side. Please find the solution here .

Glad to hear that! Thanks for linking the solution