When the line was switched to the more explicit
`virtualenv_create(libexec, "python3")` the package installed with any issues.
Arguably, I am not as comfortable as I would like with Homebrew's relationship with Python, so maybe this reveals a larger underlying issue or there was a mistake within the original Formula.
The formula is hosted [here](https://github.com/saulpw/homebrew-vd).
```
Last 15 lines from /Users/anja/Library/Logs/Homebrew/visidata/14.pip:
Removing source in /private/tmp/pip-req-build-CH6VRn
visidata requires Python '>=3.4' but the running Python is 2.7.10
Exception information:
Traceback (most recent call last):
File "/usr/local/Cellar/visidata/1.2/libexec/lib/python2.7/site-packages/pip/_internal/basecommand.py", line 228, in main
status = self.run(options, args)
File "/usr/local/Cellar/visidata/1.2/libexec/lib/python2.7/site-packages/pip/_internal/commands/install.py", line 291, in run
resolver.resolve(requirement_set)
File "/usr/local/Cellar/visidata/1.2/libexec/lib/python2.7/site-packages/pip/_internal/resolve.py", line 103, in resolve
self._resolve_one(requirement_set, req)
File "/usr/local/Cellar/visidata/1.2/libexec/lib/python2.7/site-packages/pip/_internal/resolve.py", line 262, in _resolve_one
check_dist_requires_python(dist)
File "/usr/local/Cellar/visidata/1.2/libexec/lib/python2.7/site-packages/pip/_internal/utils/packaging.py", line 55, in check_dist_requires_python
'.'.join(map(str, sys.version_info[:3])),)
UnsupportedPythonVersion: visidata requires Python '>=3.4' but the running Python is 2.7.10
```
This was accounted for in Version::NULL.<=>, but not in Version#<=>,
so these could only be compared if Version::NULL was the left hand
side.
The check had to go above the check that `other` is a version because
`Version::NULL`'s anonymous class does not inherit from `Version`.
(The type check feels like it's probably a smell, but out of scope).
We have an awful lot of integration tests and they are (comparatively)
really slow. Let's kill those that test edge case conditions and focus
on those that test that our functionality works as expected. Edge cases
can be better tested with unit tests.