When passing a package version that parses as a number (e.g. `1.9`), the version should be converted to a string before being concatenated to the package name.
Some do not use the json module directly so don't need import json.
Some needed to fallback to simplejson with no traceback if neither was installed
Fixes#1298