Fix handling of numexpr.cpu in print_versions() #495
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are a couple of issues in the way
numexpr.cpu.info
is used inprint_versions()
:CPUInfoBase
have a class attributeinfo
, whereasCPUInfoBase
does not; this means that, in case there is no CPU implementation for an OS,self.info
returns a function (because ofCPUInfoBase.__getattr__()
) which is not subscriptableCPUInfoBase
(e.g.LinuxCPUInfo
,Win32CPUInfo
) implementinfo
as list of dicts for each CPU, whereas the rest of the implementations use a dict with attributesSince
info
seems to be mostly an internal detail, then adaptprint_versions()
to be a little more flexible:CPUInfoBase
: it is not implemented for the current OS, so there is nothing to query anyway (fixes (1))info
only in case it is a list (fixes (2))KeyError
, which should not happen anymore now