Looks like Python 3 files do not confirm to Python 3

Cecil Westerhof Cecil at decebal.nl
Fri May 1 03:36:04 EDT 2015


Op Friday 1 May 2015 09:00 CEST schreef Steven D'Aprano:

> On Fri, 1 May 2015 04:27 pm, Cecil Westerhof wrote:
>
>> On my system in:
>> /usr/lib/python3.4/site-packages/ndg/httpsclient/ssl_peer_verification.py
>
> ndg is a third-party package, not part of the Python 3 standard
> library.

Oops, barking up to the wrong tree. Sorry.


>> it says:
>> try:
>> from ndg.httpsclient.subj_alt_name import SubjectAltName
>> from pyasn1.codec.der import decoder as der_decoder
>> SUBJ_ALT_NAME_SUPPORT = True
>> except ImportError, e:
> [...]
>> which gives: File
>> "/usr/lib/python3.4/site-packages/ndg/httpsclient/ssl_peer_verification.py",
>> line 17 except ImportError, e:
>
> I think you're missing the last line of the error. I'm guessing it
> was probably NameError: name 'e' is not defined.

Nope:
        except ImportError, e:
                          ^
    SyntaxError: invalid syntax

It is solved by:
    except (ImportError) as e:

But then:
        PARSER_RE_STR = '/(%s)=' % '|'.join(DN_LUT.keys() + DN_LUT.values())
    TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_values'


>> Does my system have outdated files, or are there still Python 3
>> files that do not conform to Python 3?
>
> I would say, either you have accidentally installed a Python 2 file
> in your Python 3 library, or it is simply a bug in ndg.

I will contact the ndg people.

-- 
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof



More information about the Python-list mailing list