Pylance and mypy cannot find editable local imports

Posted on Thu 01 June 2023 in Pylance, Mypy, Python • Tagged with Pylance, Mypy, Python

The other day, I wrote a post about how I fixed a problem with Pylance not finding a local import. It worked, but now mypy was complaining about the same import.

The solution was installing the package in compat mode with:

pip install -e . --config-settings editable_mode=compat

Reading units from a pickle file with Pint

Posted on Tue 30 May 2023 in Pylance, Python, Pint • Tagged with Pylance, Python, Pint

I have a Python package called cloudmodel that uses Pint to define units and adds some to the default registry. When I read a pickle file that use these units, I get an error:

int.errors.UndefinedUnitError: 'usd' is not defined in the unit registry

The way to fix it is to set the application registry to the one used by cloudmodel:

from cloudmodel.unified.units import ureg
from pint import set_application_registry

set_application_registry(ureg)

Pylance cannot find editable local import

Posted on Sat 27 May 2023 in Pylance, Python • Tagged with Pylance, Python

I had a problem with Pylance not finding a local import. I had installed the package in editable mode with pip install -e . and it was working fine in the terminal, but Pylance was not able to find it.

The solution was installing the package in strict mode with:

pip install -e . --config-settings editable_mode=strict

I got there from this troubleshooting page and this explanation in the Setuptools documentation.