Dennis Sweeney <[email protected]> added the comment:
This might be something that rapidfuzz can fix, rather than CPython. In
whatever import process rapidfuzz uses, it populates sys.modules with a module
named `Levenshtein` in addition to 'rapidfuzz.distance.Levenshtein'. You might
be able to request that they change something there.
Python 3.10.0 (tags/v3.10.0:b494f59, Oct 4 2021, 19:00:18) [MSC v.1929 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> m1 = set(sys.modules.keys())
>>> import numpy
>>> m2 = set(sys.modules.keys())
>>> import rapidfuzz
>>> m3 = set(sys.modules.keys())
>>> m2 - m1
{'posixpath', 'numpy.random._pcg64', 'numpy.fft._pocketfft_internal',
'numpy.core._dtype', 'cython_runtime', 'numpy.random._sfc64', 'urllib',
'numpy.core.einsumfunc', 'sre_parse', 'numpy.polynomial.laguerre',
'numpy.fft._pocketfft', 'numpy.lib._iotools', 'numpy.core._exceptions',
'numpy.random._pickle', 'numpy.lib.twodim_base', 'numpy.polynomial._polybase',
'numpy.lib._datasource', 'copyreg', 'numpy.random._philox', '_ctypes',
'numpy.core._ufunc_config', 'platform', 'numpy.lib.histograms',
'numpy.lib.mixins', 'numpy.core._asarray', 'numpy.polynomial.legendre',
'numpy.polynomial.polyutils', 'subprocess', 'fnmatch', 'numpy.ctypeslib',
'ast', 'sre_compile', 'json.scanner', 'numpy.core.arrayprint', 'textwrap',
'numpy.core.multiarray', 'datetime', 'inspect', 'numpy.core.function_base',
'hmac', 'numpy.lib.utils', '_json', 'signal', 'numpy.core.machar',
'numpy.ma.core', 'pathlib', 'numbers', 'numpy.core._methods',
'numpy.lib.type_check', 'numpy.core.defchararray', 'numpy.core.getlimits', 'n
umpy.lib.ufunclike', 'numpy.version', 'select', '_sre',
'numpy.core._dtype_ctypes', 'numpy.lib.arrayterator', 'random', '_blake2',
'numpy.fft', 'token', 'numpy.core._string_helpers', 'numpy', '_hashlib',
'opcode', 'tokenize', 'numpy.random._bounded_integers', 'numpy.random.mtrand',
'ctypes._endian', '_weakrefset', 'numpy.ma', 'numpy.lib.nanfunctions',
'_random', 'numpy.lib.function_base', '_sha512', 'bisect',
'numpy.core.records', 'numpy._globals', '_compat_pickle', 'urllib.parse',
'numpy.random.bit_generator', 'numpy.linalg._umath_linalg',
'numpy.core._add_newdocs_scalars', 'numpy.polynomial.hermite', 'base64',
'numpy.linalg.linalg', 'numpy.core._multiarray_tests', '_cython_0_29_24',
'hashlib', '_struct', 'numpy.lib.arraypad', 'numpy.core', 'msvcrt',
'numpy.ma.extras', 'numpy.lib.index_tricks', '_locale', 'numpy.lib.shape_base',
'numpy.compat._inspect', 'numpy.polynomial.hermite_e', 'pickle',
'numpy._distributor_init', 'numpy.lib._version', '_datetime', 'secrets',
'numpy.lib.polyno
mial', 'numpy.core.numerictypes', '_ast', 'numpy.lib.scimath', '_winapi',
'numpy.matrixlib.defmatrix', '_socket', 'numpy.core.shape_base',
'numpy.lib.format', 'dis', 'numpy.core._multiarray_umath', 'weakref',
'numpy.compat.py3k', 'json', 'numpy.core.umath', 'numpy.core.numeric',
'numpy.core.memmap', 'sre_constants', 'numpy.compat',
'numpy.core._add_newdocs', 'numpy.polynomial.chebyshev', 'math',
'numpy.random._common', 'numpy.linalg', 'numpy.random', 're', 'threading',
'numpy._pytesttester', '_bisect', 'collections.abc', 'socket',
'numpy.lib.stride_tricks', 'linecache', 'numpy.lib', 'numpy.fft.helper',
'numpy.core.fromnumeric', 'json.encoder', 'numpy.linalg.lapack_lite',
'selectors', 'numpy.polynomial', 'numpy.core._internal', 'numpy.__config__',
'numpy.polynomial.polynomial', 'numpy._version', 'errno', 'struct', 'ctypes',
'numpy.random._mt19937', 'binascii', 'numpy.lib.npyio',
'numpy.random._generator', 'numpy.lib.arraysetops', 'numpy.matrixlib',
'_opcode', 'json.decoder', 'numpy.c
ore._type_aliases', 'enum', 'numpy.core.overrides', '_pickle'}
>>> m3 - m2
{'rapidfuzz.process', 'rapidfuzz.cpp_process', 'rapidfuzz.string_metric',
'rapidfuzz.distance.Levenshtein', 'rapidfuzz.cpp_utils',
'rapidfuzz.cpp_process_cdist', 'cpp_utils', 'cpp_process_cdist', 'rapidfuzz',
'Jaro', '_heapq', 'rapidfuzz.distance.JaroWinkler', 'cpp_fuzz',
'rapidfuzz.distance.Hamming', '_cython_3_0_0a10', 'rapidfuzz.utils',
'cpp_process', 'Hamming', 'rapidfuzz.distance', 'rapidfuzz.distance.Jaro',
'JaroWinkler', '_initialize', 'rapidfuzz.cpp_fuzz', 'cpp_string_metric',
'rapidfuzz.distance._initialize', 'rapidfuzz.distance.Indel', 'rapidfuzz.fuzz',
'Levenshtein', 'heapq', 'Indel', 'array', 'rapidfuzz.cpp_string_metric'}
>>> sys.modules['rapidfuzz.distance.Levenshtein'] is sys.modules['Levenshtein']
True
A temporary workaround could be to delete `sys.modules['Levenshtein']`:
>>> import rapidfuzz
>>> del sys.modules['Levenshtein']
>>> import Levenshtein
>>> Levenshtein.__file__ # not the rapidfuzz one
'C:\\Users\\sween\\AppData\\Roaming\\Python\\Python310\\site-packages\\Levenshtein\\__init__.py'
----------
nosy: +Dennis Sweeney
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46935>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com