PyCall.jl icon indicating copy to clipboard operation
PyCall.jl copied to clipboard

PyCall conflicts with LIBSVM and MultivariateStats

Open ppalmes opened this issue 5 years ago • 1 comments

I'm having this error whenever I include either LIBSVM or MultivariateStats in my package (AutoMLPipeline) together with PyCall. It seems that the binaries are causing these errors. Without LIBSVM or MultivariateStats, there are no errors.

  Got exception outside of a @test
  PyError ($(Expr(:escape, :(ccall(#= /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:43 =# @pysym(:PyObject_Call), PyPtr, (PyPtr, PyPtr, PyPtr), o, pyargsptr, kw))))) <class 'numpy.linalg.LinAlgError'>
  LinAlgError('SVD did not converge')
    File "/Users/ppalmes/.julia/conda/3/lib/python3.7/site-packages/sklearn/decomposition/_dict_learning.py", line 1247, in fit
      positive_code=self.positive_code)
    File "/Users/ppalmes/.julia/conda/3/lib/python3.7/site-packages/sklearn/utils/validation.py", line 73, in inner_f
      return f(**kwargs)
    File "/Users/ppalmes/.julia/conda/3/lib/python3.7/site-packages/sklearn/decomposition/_dict_learning.py", line 551, in dict_learning
      code, S, dictionary = linalg.svd(X, full_matrices=False)
    File "/Users/ppalmes/.julia/conda/3/lib/python3.7/site-packages/scipy/linalg/decomp_svd.py", line 132, in svd
      raise LinAlgError("SVD did not converge")

  Stacktrace:
   [1] pyerr_check at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/exception.jl:62 [inlined]
   [2] pyerr_check at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/exception.jl:66 [inlined]
   [3] _handle_error(::String) at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/exception.jl:83
   [4] macro expansion at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/exception.jl:97 [inlined]
   [5] #110 at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:43 [inlined]
   [6] disable_sigint at ./c.jl:446 [inlined]
   [7] __pycall! at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:42 [inlined]
   [8] _pycall!(::PyCall.PyObject, ::PyCall.PyObject, ::Tuple{Array{Float64,2}}, ::Int64, ::Ptr{Nothing}) at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:29
   [9] _pycall! at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:11 [inlined]
   [10] #_#117 at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:86 [inlined]
   [11] (::PyCall.PyObject)(::Array{Float64,2}) at /Users/ppalmes/.julia/packages/PyCall/BcTLp/src/pyfncall.jl:86
   [12] fit!(::AutoMLPipeline.SKPreprocessors.SKPreprocessor, ::DataFrames.DataFrame, ::Array{String,1}) at /Users/ppalmes/julia/AutoMLPipeline.jl/src/skpreprocessor.jl:163
   [13] fit_test(::String, ::DataFrames.DataFrame, ::Array{String,1}) at /Users/ppalmes/julia/AutoMLPipeline.jl/test/test_skpreprocessing.jl:39
   [14] macro expansion at /Users/ppalmes/julia/AutoMLPipeline.jl/test/test_skpreprocessing.jl:55 [inlined]
   [15] macro expansion at /Users/julia/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.5/Test/src/Test.jl:1115 [inlined]
   [16] top-level scope at /Users/ppalmes/julia/AutoMLPipeline.jl/test/test_skpreprocessing.jl:52
   [17] include(::Function, ::Module, ::String) at ./Base.jl:380
   [18] include at ./Base.jl:368 [inlined]
   [19] include(::String) at /Users/ppalmes/julia/AutoMLPipeline.jl/test/runtests.jl:1
   [20] top-level scope at /Users/ppalmes/julia/AutoMLPipeline.jl/test/runtests.jl:11
   [21] include(::String) at ./client.jl:457
   [22] top-level scope at none:6
   [23] eval(::Module, ::Any) at ./boot.jl:331
   [24] exec_options(::Base.JLOptions) at ./client.jl:272
   [25] _start() at ./client.jl:506

ppalmes avatar Oct 19 '20 22:10 ppalmes

Xrefs https://github.com/JuliaLang/julia/issues/42896 https://github.com/JuliaPy/PyCall.jl/pull/942

petvana avatar Nov 11 '21 21:11 petvana