As per subject. Here's my test case:
```
$ mkvirtualenv -p `which python3` test
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/zack/.virtualenvs/test/bin/python3
Also creating executable in /home/zack/.virtualenvs/test/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/zack/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/zack/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/zack/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/zack/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/zack/.virtualenvs/test/bin/get_env_details
$ pip install 'swh.model[cli]'
Collecting swh.model[cli]
Using cached swh.model-0.0.56-py3-none-any.whl (93 kB)
Collecting python-dateutil
Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Processing ./.cache/pip/wheels/33/84/29/2fff179e8de0b5e0d17ee4a570536f547b809d62ada8d6d861/vcversioner-2.16.0.0-cp37-none-any.whl
Collecting hypothesis
Using cached hypothesis-5.5.4-py3-none-any.whl (288 kB)
Collecting attrs
Using cached attrs-19.3.0-py2.py3-none-any.whl (39 kB)
Collecting dulwich; extra == "cli"
Using cached dulwich-0.19.15-py3-none-any.whl (419 kB)
Collecting Click; extra == "cli"
Using cached Click-7.0-py2.py3-none-any.whl (81 kB)
Collecting six>=1.5
Using cached six-1.14.0-py2.py3-none-any.whl (10 kB)
Collecting sortedcontainers<3.0.0,>=2.1.0
Using cached sortedcontainers-2.1.0-py2.py3-none-any.whl (28 kB)
Collecting urllib3>=1.24.1
Using cached urllib3-1.25.8-py2.py3-none-any.whl (125 kB)
Collecting certifi
Using cached certifi-2019.11.28-py2.py3-none-any.whl (156 kB)
Installing collected packages: six, python-dateutil, vcversioner, sortedcontainers, attrs, hypothesis, urllib3, certifi, dulwich, Click, swh.model
Successfully installed Click-7.0 attrs-19.3.0 certifi-2019.11.28 dulwich-0.19.15 hypothesis-5.5.4 python-dateutil-2.8.1 six-1.14.0 sortedcontainers-2.1.0 swh.model-0.0.56 urllib3-1.25.8 vcversioner-2.16.0.0
$ swh identify foo.txt
zsh: command not found: swh
$ swh-identify foo.txt
Traceback (most recent call last):
File "/home/zack/.local/bin/swh-identify", line 6, in <module>
from pkg_resources import load_entry_point
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3251, in <module>
@_call_aside
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3235, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 3264, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 583, in _build_master
ws.require(__requires__)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 900, in require
needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'swh.model' distribution was not found and is required by the application
$
```
Additional notes:
- there are at least two separate issues here: (1) `swh identify` backtrace, and (2) `swh` not being installed (or in the PATH?)
- the cached swh.model release is the most recent on pypi
- I've also tried `pip install swh.model`, without `[cli]`, obtaining the same result
- `pip install` is the intended way to compute PID locally, so this stuff should work reliably. It would be nice to have periodic automated testing for this