You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@systemml.apache.org by "Mike Dusenberry (JIRA)" <ji...@apache.org> on 2016/07/29 19:40:20 UTC
[jira] [Closed] (SYSTEMML-830) Python API Broken In Python 3 Due To
Changes In Dictionary Iteration
[ https://issues.apache.org/jira/browse/SYSTEMML-830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Dusenberry closed SYSTEMML-830.
------------------------------------
> Python API Broken In Python 3 Due To Changes In Dictionary Iteration
> --------------------------------------------------------------------
>
> Key: SYSTEMML-830
> URL: https://issues.apache.org/jira/browse/SYSTEMML-830
> Project: SystemML
> Issue Type: Bug
> Affects Versions: SystemML 0.10, SystemML 0.11
> Reporter: Mike Dusenberry
> Assignee: Mike Dusenberry
> Priority: Minor
> Fix For: SystemML 0.11, SystemML 0.10.1
>
>
> Currently, the {{executeScript(...)}} function in the Python API ({{SystemML.py}}) has a bug in Python 3 due to changes from Python 2 -> 3 dealing with iteration over a dictionary. {{dictName.items()}} returned a list of the current items in the dictionary in Python 2, while it returns a live iterable in Python 3. The consequence is that a dictionary cannot be modified in a loop using {{dictName.items()}} in Python 3. This fix will simply force the iterable to a list in either Python version, as discussed in \[1]. We simply use this in the existing API for lightweight argument parsing, so performance is not a concern.
> \[1]: [PEP 0469 | http://legacy.python.org/dev/peps/pep-0469/#lists-as-mutable-snapshots]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)