Having labgrid installed without extras: ```shell $ pip freeze | grep pyserial pyserial-labgrid==3.5.0.2 $ python -c 'import serial; print(serial.VERSION)' 3.5.0.2 ``` With `modbusrtu` or `dev` extra (pulling in `minimalmodbus`, which depends on `pyserial`): ```shell $ pip freeze | grep pyserial pyserial==3.5 pyserial-labgrid==3.5.0.2 $ python -c 'import serial; print(serial.VERSION)' 3.5 ``` This means `pyserial` effectively overwrites `pyserial-labgrid`. I don't know if `pyserial` always overwrites `pyserial-labgrid`, it probably depends on pip's dependency resolving strategy.