Pyvips OSerror when import

Did someone sucessfully import pyvips under python 3.10 ?

I couldn’t, I installed pyvips 2.2.1, downloaded pre compiled binary on Release v8.14.2 · libvips/build-win64-mxe · GitHub then

Running this script

import os

add_dll_dir = getattr(os, "add_dll_directory", None)
vipsbin = r"C:\my_path\bin"  # LibVIPS binary dir
if callable(add_dll_dir):
    add_dll_dir(vipsbin)
else:
    os.environ["PATH"] = os.pathsep.join((vipsbin, os.environ["PATH"]))

import pyvips


def main():
    path = "./data/1u4lhlqb.tif"
    slide = pyvips.Image.new_from_file(path, page=0)
    print(slide.width, slide.height)


if __name__ == "__main__":
    main()

I still get the following error
OSError: cannot load library ‘libgobject-2.0-0.dll’: error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called ‘libgobject-2.0-0.dll’

[SOLVED]
Hello me,

Replacing

add_dll_dir = getattr(os, "add_dll_directory", None)
vipsbin = r"C:\my_path\bin"  # LibVIPS binary dir
if callable(add_dll_dir):
    add_dll_dir(vipsbin)
else:
    os.environ["PATH"] = os.pathsep.join((vipsbin, os.environ["PATH"]))

with

vipsbin = r"C:\my_path\bin"
os.environ['PATH'] = vipsbin + ';' + os.environ['PATH']

worked !

Another option is to use conda to install pyvips

conda install --channel conda-forge pyvips
2 Likes