[SDKs] Fix incompatibility between Python packages and newer virtualenv
Jenkins runs our tests using the virtualenv package from wheezy. This works great.
If you have a newer virtualenv, like the version from jessie, installation steps fail. After the
pip install command says "Cleaning up," it reports this error:
ValueError: ("Expected ',' or end-of-list in", u'arvados-node-manager==0.1.20150114174738+9c2e673', 'at', u'+9c2e673')
Figure out how to address this to improve the forward compatibility of our builds.
#1 Updated by Brett Smith about 5 years ago
I note that we try to tag our build version as
0.1.<git timestamp>+<git hash>, but the
+ is being transformed into
- along the way. See our Python package page. This transformation shows up in the
.egg-info files if you run
python setup.py egg_info, so it's apparently happening early in the process.
Maybe the wheezy build tools are too old to be PEP 440-aware?
#4 Updated by Brett Smith about 5 years ago
I think the real bug here was #5175: we were generating version numbers that were not PEP 440-compliant, and would not be accepted by PyPI or other tools.
We build our own virtualenv deb, and we're using that on the ci server. (Whether or not that's intentional is a little difficult to say right now.) It is the very latest version, even newer than what's currently in jessie (12.0.7 compared to 1.11.6). Package builds are working fine and making their way to PyPI right now.
I think we can close this as a duplicate.