JuliaPy / PyCall.jl

Package to call Python functions from the Julia language
MIT License
1.46k stars 187 forks source link

Fail to import ExcelFiles(Maybe caused by pycall). Give me some help, thanks! #965

Closed yummy527 closed 2 years ago

yummy527 commented 2 years ago

Machine environment

OS: linux python version: anaconda with python 3.6 env julia version: 1.7.2

Build pycall after struggling

On first try to build pycall, error occurs below.

julia> ENV["PYTHON"]="/home/wangxl/.conda/envs/py368/bin/python3"
"/home/wangxl/.conda/envs/py368/bin/python3"

julia> Pkg.build("PyCall")
    Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/6cdc8832ba11c7695f494c9d9a1c31e90959ce0f/build.log`
    Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/71fd4022ecd0c6d20180e23ff1b3e05a143959c2/build.log`
Precompiling project...
  ✗ ExcelReaders
  ✗ ExcelFiles
  1 dependency successfully precompiled in 6 seconds (100 already precompiled)
  2 dependencies errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the packages

julia> Pkg.precompile()
Precompiling project...
  ✗ ExcelFiles
  0 dependencies successfully precompiled in 2 seconds (102 already precompiled)

ERROR: The following 1 direct dependency failed to precompile:

ExcelFiles [89b67f3b-d1aa-5f6f-9ca4-282e8d98620d]

Failed to precompile ExcelFiles [89b67f3b-d1aa-5f6f-9ca4-282e8d98620d] to /home/wangxl/.julia/compiled/v1.7/ExcelFiles/jl_h7Ivhk.

signal (6): Aborted
in expression starting at /home/wangxl/.julia/packages/ExcelFiles/NtqPa/src/ExcelFiles.jl:4
gsignal at /usr/bin/../lib/libc.so.6 (unknown line)
abort at /usr/bin/../lib/libc.so.6 (unknown line)
unknown function (ip: 0x7faaf7992061)
warning: unknown data in line table prologue at offset 0x00000000: parsing ended (at offset 0x000001eb) before reaching the prologue end at offset 0x000004a1
CThunkObject_dealloc at (null):0
free_keys_object.lto_priv.1712 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
dict_dealloc.lto_priv.378 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCData_clear at (null):0 [inlined]
PyCFuncPtr_clear at (null):4030 [inlined]
PyCFuncPtr_dealloc at (null):4036
subtype_dealloc.lto_priv.1689 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyEval_EvalCode at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
builtin_exec at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCFunction_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyObject_FastCallDict at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
builtin___import__ at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCFunction_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyObject_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyObject_CallFunction at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_Import at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_ImportModule at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_pyimport at /home/wangxl/.julia/packages/PyCall/L0fLP/src/PyCall.jl:475
pyimport at /home/wangxl/.julia/packages/PyCall/L0fLP/src/PyCall.jl:499
__init__ at /home/wangxl/.julia/packages/PyCall/L0fLP/src/pyinit.jl:221
unknown function (ip: 0x7faae5f09733)
unknown function (ip: 0x7faafe7cbe86)
jl_init_restored_modules at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7faae7235ecf)
unknown function (ip: 0x7faae737a867)
unknown function (ip: 0x7faae718a705)
unknown function (ip: 0x7faae7379ee3)
unknown function (ip: 0x7faae72f764d)
unknown function (ip: 0x7faae7401465)
unknown function (ip: 0x7faae7401eee)
unknown function (ip: 0x7faafe7cb8b0)
unknown function (ip: 0x7faafe7cd8f2)
unknown function (ip: 0x7faafe7cd0fa)
unknown function (ip: 0x7faafe7cd476)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7faae7383857)
unknown function (ip: 0x7faae736ffe1)
unknown function (ip: 0x7faae72fc59e)
unknown function (ip: 0x7faae72fc889)
unknown function (ip: 0x7faafe7ae72c)
unknown function (ip: 0x7faafe7adff4)
unknown function (ip: 0x7faafe7aee44)
unknown function (ip: 0x7faafe7afc53)
unknown function (ip: 0x7faafe7cc84f)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7faae6dea647)
unknown function (ip: 0x7faafe7ae72c)
unknown function (ip: 0x7faafe7adff4)
unknown function (ip: 0x7faafe7aee44)
unknown function (ip: 0x7faafe7afc53)
unknown function (ip: 0x7faafe7cc84f)
unknown function (ip: 0x7faafe7cd476)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7faae749930d)
unknown function (ip: 0x7faae6efb152)
unknown function (ip: 0x7faae6efb2a8)
unknown function (ip: 0x7faafe7f42d2)
jl_repl_entrypoint at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
main at /usr/bin/julia (unknown line)
__libc_start_main at /usr/bin/../lib/libc.so.6 (unknown line)
_start at /usr/bin/julia (unknown line)
Allocations: 621337 (Pool: 620943; Big: 394); GC: 1
Stacktrace:
 [1] top-level scope
   @ REPL[7]:1

After several attempt build, the error above do not show again.

julia> Pkg.build("PyCall")
    Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/6cdc8832ba11c7695f494c9d9a1c31e90959ce0f/build.log`
    Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/71fd4022ecd0c6d20180e23ff1b3e05a143959c2/build.log`

Code input in jupyter

When tried to using ExcelFiles in jupyter, I encountered an error.

using ExcelFiles, DataFrames

Error code

Below is the error info.


┌ Info: Precompiling ExcelFiles [89b67f3b-d1aa-5f6f-9ca4-282e8d98620d]
└ @ Base loading.jl:1423

signal (6): Aborted
in expression starting at /home/wangxl/.julia/packages/ExcelFiles/NtqPa/src/ExcelFiles.jl:4
gsignal at /usr/bin/../lib/libc.so.6 (unknown line)
abort at /usr/bin/../lib/libc.so.6 (unknown line)
unknown function (ip: 0x7fcbafc0f061)
warning: unknown data in line table prologue at offset 0x00000000: parsing ended (at offset 0x000001eb) before reaching the prologue end at offset 0x000004a1
CThunkObject_dealloc at (null):0
free_keys_object.lto_priv.1712 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
dict_dealloc.lto_priv.378 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCData_clear at (null):0 [inlined]
PyCFuncPtr_clear at (null):4030 [inlined]
PyCFuncPtr_dealloc at (null):4036
subtype_dealloc.lto_priv.1689 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyEval_EvalCodeEx at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyEval_EvalCode at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
builtin_exec at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCFunction_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalCodeWithName at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
call_function.lto_priv.1480 at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyEval_EvalFrameDefault at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCall at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyFunction_FastCallDict at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyObject_FastCallDict at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_PyObject_CallMethodIdObjArgs at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_ImportModuleLevelObject at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
builtin___import__ at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyCFunction_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyObject_Call at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyObject_CallFunction at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_Import at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
PyImport_ImportModule at /home/wangxl/.conda/envs/py368/lib/libpython3.6m.so.1.0 (unknown line)
_pyimport at /home/wangxl/.julia/packages/PyCall/L0fLP/src/PyCall.jl:475
pyimport at /home/wangxl/.julia/packages/PyCall/L0fLP/src/PyCall.jl:499
__init__ at /home/wangxl/.julia/packages/PyCall/L0fLP/src/pyinit.jl:221
unknown function (ip: 0x7fcb9e186483)
unknown function (ip: 0x7fcbb6a48e86)
jl_init_restored_modules at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7fcb9f4b2ecf)
unknown function (ip: 0x7fcb9f5f7867)
unknown function (ip: 0x7fcb9f407705)
unknown function (ip: 0x7fcb9f5f6ee3)
unknown function (ip: 0x7fcb9f57464d)
unknown function (ip: 0x7fcb9f67e465)
unknown function (ip: 0x7fcb9f67eeee)
unknown function (ip: 0x7fcbb6a488b0)
unknown function (ip: 0x7fcbb6a4a8f2)
unknown function (ip: 0x7fcbb6a4a0fa)
unknown function (ip: 0x7fcbb6a4a476)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7fcb9f600857)
unknown function (ip: 0x7fcb9f5ecfe1)
unknown function (ip: 0x7fcb9f57959e)
unknown function (ip: 0x7fcb9f579889)
unknown function (ip: 0x7fcbb6a2b72c)
unknown function (ip: 0x7fcbb6a2aff4)
unknown function (ip: 0x7fcbb6a2be44)
unknown function (ip: 0x7fcbb6a2cc53)
unknown function (ip: 0x7fcbb6a4984f)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7fcb9f067647)
unknown function (ip: 0x7fcbb6a2b72c)
unknown function (ip: 0x7fcbb6a2aff4)
unknown function (ip: 0x7fcbb6a2be44)
unknown function (ip: 0x7fcbb6a2cc53)
unknown function (ip: 0x7fcbb6a4984f)
unknown function (ip: 0x7fcbb6a4a476)
jl_toplevel_eval_in at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
unknown function (ip: 0x7fcb9f71630d)
unknown function (ip: 0x7fcb9f178152)
unknown function (ip: 0x7fcb9f1782a8)
unknown function (ip: 0x7fcbb6a712d2)
jl_repl_entrypoint at /usr/bin/../lib/julia/libjulia-internal.so.1 (unknown line)
main at /usr/bin/julia (unknown line)
__libc_start_main at /usr/bin/../lib/libc.so.6 (unknown line)
_start at /usr/bin/julia (unknown line)
Allocations: 621450 (Pool: 621053; Big: 397); GC: 1

Failed to precompile ExcelFiles [89b67f3b-d1aa-5f6f-9ca4-282e8d98620d] to /home/wangxl/.julia/compiled/v1.7/ExcelFiles/jl_l0aHLh.

Stacktrace:
 [1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)
   @ Base ./loading.jl:1466
 [2] compilecache(pkg::Base.PkgId, path::String)
   @ Base ./loading.jl:1410
 [3] _require(pkg::Base.PkgId)
   @ Base ./loading.jl:1120
 [4] require(uuidkey::Base.PkgId)
   @ Base ./loading.jl:1013
 [5] require(into::Module, mod::Symbol)
   @ Base ./loading.jl:997
 [6] eval
   @ ./boot.jl:373 [inlined]
 [7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)
   @ Base ./loading.jl:1196
yummy527 commented 2 years ago

old: ENV["PYTHON"]="/home/wangxl/.conda/envs/py368/bin/python3" new: ENV["PYTHON"]="/opt/anaconda/bin/python3" After changing from old environment to the new one, the precompile and import ExcelFiles encounter no problem. It seems that the version of python matters.