[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2499: Poor error reporting when verlib.suggest_normalized_version returns None
Tahoe-LAFS
trac at tahoe-lafs.org
Fri Sep 4 09:10:23 UTC 2015
#2499: Poor error reporting when verlib.suggest_normalized_version returns None
---------------------------+---------------------------------------------
Reporter: daira | Owner: daira
Type: defect | Status: new
Priority: normal | Milestone: 1.11.0
Component: packaging | Version: 1.10.1
Resolution: | Keywords: error versions verlib packaging
Launchpad Bug: |
---------------------------+---------------------------------------------
Description changed by daira:
Old description:
> <warner> I'm trying to test tahoe (trunk) against a foolscap branch that
> I'm working on
> <warner> and I'm thwarted by packaging and setuptools, again
> [...]
> <warner> ... "PYTHONPATH=/path/to/my/foolscap/tree ./bin/tahoe" ...
> currently emits: PackagingError: could not parse actual version
> '0.8.0+12.g1fdaa3e.dirty' of foolscap from
> '/Users/warner/stuff/python/foolscap' due to TypeError: expected string
> or buffer
> <warner> Warning: version number '0.8.0-12.g1fdaa3e.dirty' found for
> dependency 'foolscap' by pkg_resources could not be parsed. The version
> found by import was '0.8.0+12.g1fdaa3e.dirty' from
> '/Users/warner/stuff/python/foolscap'. pkg_resources thought it should be
> found at '/Users/warner/stuff/python/foolscap'. The exception was
> PackagingError: could not parse '0.8.0-12.g1fdaa3e.dirty' due to
> TypeError: expected string or buffer
> <warner> I don't know where that TypeError is coming from, or what it's
> getting that isn't a string
> <warner> I thought it might have to do with some Versioneer changes I
> made at one point which cause versions to sometimes be unicode, but
> hardcoding the version doesn't make the tahoe/packaging error go away
>
> warner tries to even figure out what our 'setup.py build' does these days
> <warner> ah, found it. Tahoe's verlib.suggest_normalized_version()
> doesn't recognize Versioneer's (setuptools-compatible)
> "0.8.0+12.g123abc.dirty" as a parseable version, and returns None
> <warner> then verlib.NormalizedVersion(that) explodes when the regexp
> tries to parse the None
> <warner> delete.. it.. all..
> <warner> actually now it's reminding me of the HHGTTG scene where the
> intergalactic cruise is grounded for centuries whilst waiting the
> availability of lemon-soaked paper napkins
> <warner> the version can't be parsed, therefore refuse to run
> <warner> this version-parsing code is really getting in my way
New description:
<warner> I'm trying to test tahoe (trunk) against a foolscap branch that
I'm working on
<warner> and I'm thwarted by packaging and setuptools, again
[...]
<warner> ... "PYTHONPATH=/path/to/my/foolscap/tree ./bin/tahoe" ...
currently emits: PackagingError: could not parse actual version
'0.8.0+12.g1fdaa3e.dirty' of foolscap from
'/Users/warner/stuff/python/foolscap' due to !TypeError: expected string
or buffer
<warner> Warning: version number '0.8.0-12.g1fdaa3e.dirty' found for
dependency 'foolscap' by pkg_resources could not be parsed. The version
found by import was '0.8.0+12.g1fdaa3e.dirty' from
'/Users/warner/stuff/python/foolscap'. pkg_resources thought it should be
found at '/Users/warner/stuff/python/foolscap'. The exception was
!PackagingError: could not parse '0.8.0-12.g1fdaa3e.dirty' due to
!TypeError: expected string or buffer
<warner> I don't know where that !TypeError is coming from, or what it's
getting that isn't a string
<warner> I thought it might have to do with some Versioneer changes I made
at one point which cause versions to sometimes be unicode, but hardcoding
the version doesn't make the tahoe/packaging error go away
warner tries to even figure out what our 'setup.py build' does these days
<warner> ah, found it. Tahoe's verlib.suggest_normalized_version() doesn't
recognize Versioneer's (setuptools-compatible) "0.8.0+12.g123abc.dirty" as
a parseable version, and returns None
<warner> then verlib.!NormalizedVersion(that) explodes when the regexp
tries to parse the None
<warner> delete.. it.. all..
<warner> actually now it's reminding me of the HHGTTG scene where the
intergalactic cruise is grounded for centuries whilst waiting the
availability of lemon-soaked paper napkins
<warner> the version can't be parsed, therefore refuse to run
<warner> this version-parsing code is really getting in my way
--
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2499#comment:1>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list