setup.py can only currently be run if the jose can be imported. It is presumably assumed that the source root will be somewhere near the top of sys.path but this is not always the case.
There are, therefore, two failure modes possible. If python-jose is not already installed, setup.py cannot be run at all. If python-jose is installed, then the version from the installed copy is used to generate the version for setup.py.
Switching to using setup.cfg:
[metadata]
version = attr: jose.__version__
 
allows setup.py to be run even if the source root is not on the path.