[Tutor] Using the Nimblenet Library in Python 3.6

Zachary Ware zachary.ware+pytut at gmail.com
Thu Apr 5 10:28:52 EDT 2018


On Thu, Apr 5, 2018 at 3:39 AM, Alan Gauld via Tutor <tutor at python.org> wrote:
> On 05/04/18 04:02, Mark Lawrence wrote:
>
>> Python 3.6 has more functionality than 2.7 by definition, but your
>> comment implies, at least to me, that 2.7 and 3.6 are chalk and cheese.
>> Nothing could be further from the truth and has regrettably been one of
>> the reasons for the dreadfully slow uptake of Python 3.
>
> I disagree. Apart from the superficial language compatibility issues,
> which 2.7 can partially address by importing from future, the libraries
> are dramatically different. Any non trivial program runs into issues the
> minute it starts importing modules. module names are different, function
> names within those modules are different, return values and parameter
> types are different.
>
> Given Python programming relies hugely on the modules in the standard
> library I find it impossible to produce code that works across 2.7
> and 3.x without significant effort to force compatibility. That's why
> tools like six etc exist.
>
> You may have been luckier than me but in my experience the gap
> between the two versions is significant and not to be underestimated.

I would appreciate keeping the FUD about the differences to a minimum
:).  The differences are there and they are significant, but far from
insurmountable; in my experience, well-written Python 3 code is fairly
trivial to port to Python 2/3.  Depending on the quality of the
initial Python 2 code, it's not quite as easy to port from 2 to 2/3 or
directly to 3 due to Unicode/bytes confusion (made worse if the Python
2 code relies on bad Unicode practices), but they're still very much
the same language.

However, it does take some effort to port an established Python 2
codebase to Python 3, and to bring the thread back to the original
topic, it looks like the author of the package in question is not
particularly open to doing the work for their package (but may accept
a pull request!).  Christine (OP), you may have some luck with opening
an issue at https://github.com/jorgenkg/python-neural-network and
requesting Python 3 support.  I don't have enough experience in the
field of machine learning to competently suggest an alternative, but
I've heard good things about TensorFlow.

-- 
Zach


More information about the Tutor mailing list