On 1/5/2012 3:01 PM, Paul Smedley wrote: >> File "./setup.py", line 1154, in detect_modules >> for arg in sysconfig.get_config_var("__CONFIG_ARGS").split()] >> AttributeError: 'NoneType' object has no attribute 'split' >> make: *** [sharedmods] Error 1 > File "./setup.py", line 1368, in detect_modules > if '--with-system-expat' in sysconfig.get_config_var("CONFIG_ARGS"): > TypeError: argument of type 'NoneType' is not iterable > make: *** [sharedmods] Error 1 > > Which again points to problems with > sysconfig.get_config_var("CONFIG_ARGS"): [The earlier call was with "__CONFIG_ARGS", for whatever difference that makes.] It appears to be returning None instead of [] (or a populated list). In 3.2.2, at line 579 of sysconfig.py is def get_config_var(name): return get_config_vars().get(name) That defaults to None if name is not a key in the dict returned by get_config_vars(). My guess is that it always is and and the the value is always a list for tested win/*nix/mac systems. So either setup.py has the bug of assuming that there is always a list value for "CONFIG_ARGS" or sysconfig.py has the bug of not setting it for os2, perhaps because of a bug elsewhere. At line 440 of sysconfig.py is def get_config_var(*args): global _CONFIG_VARS if _CONFIG_VARS is None: _CONFIG_VARS = {} <code to populate _CONFIG_VARS, including> if os.name in ('nt', 'os2'): _init_non_posix(_CONFIG_VARS) if args: vals = [] for name in args: vals.append(_CONFIG_VARS.get(name)) return vals else: return _CONFIG_VARS At 456 is def _init_non_posix(vars): """Initialize the module as appropriate for NT""" # set basic install directories ... "CONFIG_ARGS" is not set explicitly for any system anywhere in the file, so I do not know how the call ever works. -- Terry Jan Reedy
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4