def open_tablebases(directory=None, libgtb=None, LibraryLoader=ctypes.cdll):
"""
Opens a collection of tablebases for probing.
First native access via the shared library libgtb is tried. You can
optionally provide a specific library name or a library loader.
The shared library has global state and caches, so only one instance can
be open at a time.
Second pure Python probing code is tried.
"""
try:
if LibraryLoader:
return open_tablebases_native(directory, libgtb, LibraryLoader)
except (OSError, RuntimeError) as err:
LOGGER.info("Falling back to pure Python tablebases: %r", err)
try:
import lzma
except ImportError:
try:
from backports import lzma
except ImportError:
LOGGER.exception("You should install backports.lzma")
return PythonTablebases(directory, lzma)
评论列表
文章目录