Change in cache tag in Python 3.8 - pip confused

Chris Angelico rosuav at gmail.com
Tue May 7 16:47:42 EDT 2019


I've been building Python 3.8 pre-alphas and alphas for a while now,
and ran into a weird problem. Not sure if this is significant or not,
and hoping to get other people's views.

It seems that the value of sys.implementation.cache_tag changed from
"cpython-38m" to just "cpython-38" at some point. That means that a
statement like "import lzo" will no longer find a file called
"lzo.cpython-38m-x86_64-linux-gnu.so", which I had had prior to the
change. The trouble is, pip *did* recognize that file, and said that
the python-lzo package was still installed.

Solution: "pip uninstall python-lzo" and then reinstall it. Now it's
created "lzo.cpython-38-x86_64-linux-gnu.so" and all is well.

Does anyone else know about how pip detects existing files, and
whether it could be brought more in sync with the import machinery?

ChrisA


More information about the Python-list mailing list