Julia引入PyCall报错解决方法

    技术2022-07-10  135

    首先按照正常的方法安装PyCall

    using Pkg Pkg.add("PyCall") using PyCall

    报错

    [ Info: Precompiling PyCall [438e738f-606a-5dbb-bf0a-cddfbfd45ab0] ERROR: LoadError: LoadError: PyCall not properly installed. Please run Pkg.build("PyCall") Stacktrace: [1] error(::String) at .\error.jl:33 [2] top-level scope at C:\Users\.juliapro\JuliaPro_v1.4.2-1\packages\PyCall\zqDXB\src\startup.jl:44 [3] include(::Module, ::String) at .\Base.jl:377 [4] include(::String) at C:\Users\.juliapro\JuliaPro_v1.4.2-1\packages\PyCall\zqDXB\src\PyCall.jl:1 [5] top-level scope at C:\Users\.juliapro\JuliaPro_v1.4.2-1\packages\PyCall\zqDXB\src\PyCall.jl:34 [6] include(::Module, ::String) at .\Base.jl:377 [7] top-level scope at none:2 [8] eval at .\boot.jl:331 [inlined] [9] eval(::Expr) at .\client.jl:449 [10] top-level scope at .\none:3

    接着按照报错的提示输入

    Pkg.build("PyCall")

    接着卡在此处没有反应

    Building PyCall → `C:\Users\.juliapro\JuliaPro_v1.4.2-1\packages\PyCall\zqDXB\deps\build.log`

    解决方法 按照 https://github.com/JuliaPy/PyCall.jl中的提示,我们只需要将ENV[“PYTHON”]换成Python的路径

    ENV["PYTHON"] = "D:\\Users\\Anaconda3\\envs\\tf\\python.exe" Pkg.bulid("PyCall")

    然后重新启动Julia即可。 此时PyCall可以使用pyimport导入此Python所在环境下的包,例如

    np = pyimport("numpy")

    然后便可以用np调用numpy里的函数

    Processed: 0.056, SQL: 9