PyCall.jl
PyCall.jl copied to clipboard
`LinearAlgebra.BLAS.vendor()` has been deprecated
It looks like the vendor() function is deprecated in the following line of code:
https://github.com/JuliaPy/PyCall.jl/blob/9a084eb47c7176242893dd18a1782a1114cef02c/src/numpy.jl#L67
julia> import PyCall; PyCall.pyimport("jax").numpy.array([1.0])
┌ Warning: `vendor()` is deprecated, use `BLAS.get_config()` and inspect the output instead
│ caller = npyinitialize() at numpy.jl:67
└ @ PyCall ~/.julia/dev/PyCall/src/numpy.jl:67
...
I'm on python 3.9.9, numpy 1.21.4, Julia 1.7.1, and [438e738f] PyCall v1.93.0. This is running on NixOS 21.11.
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
OS: Linux (x86_64-pc-linux-gnu)
CPU: Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, skylake-avx512)
Here's my shell.nix to reproduce the whole thing:
let
# Last updated: 1/10/22. From status.nixos.org.
pkgs = import (fetchTarball ("https://github.com/NixOS/nixpkgs/archive/8928525bd8b8cdc1235a92a89b72cbbe5bd8a00d.tar.gz")) { };
in
pkgs.mkShell {
buildInputs = with pkgs; [
# See https://github.com/NixOS/nixpkgs/issues/66716. Necessary for julia to
# be able to download packages.
cacert
julia_17-bin
python3
python3Packages.jax
python3Packages.jaxlib
];
# See https://github.com/JuliaPy/PyCall.jl/issues/952#issuecomment-1005694327
PYTHON = "${pkgs.python3}/bin/python";
}
The comment here suggests that vendor() has been removed since multiple vendors can be loaded simultaneously. Furthermore the vendor() function only ever returns :openblas or :openblas64, so I think the whole if block here
https://github.com/JuliaPy/PyCall.jl/blob/9a084eb47c7176242893dd18a1782a1114cef02c/src/numpy.jl#L67-L76 can be removed.
Same issue for me
julia> versioninfo()
Julia Version 1.7.0
Commit 3bf9d17731 (2021-11-30 12:12 UTC)
Platform Info:
OS: Windows (x86_64-w64-mingw32)
CPU: Intel(R) Core(TM) i5-10400T CPU @ 2.00GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-12.0.1 (ORCJIT, skylake)
Warning: `vendor()` is deprecated, use `BLAS.get_config()` and inspect the output instead
│ caller = npyinitialize() at numpy.jl:67
└ @ PyCall C:\Users\admin\.julia\packages\PyCall\L0fLP\src\numpy.jl:67
I am getting a similar warning message while using PyCall v1.93.0 on Julia 1.7.
Despite of this warning, I am able to get the job done without any trouble.
PR is here: #950.