[ 
https://issues.apache.org/jira/browse/BEAM-4752?focusedWorklogId=122027&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-122027
 ]

ASF GitHub Bot logged work on BEAM-4752:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 11/Jul/18 19:35
            Start Date: 11/Jul/18 19:35
    Worklog Time Spent: 10m 
      Work Description: charlesccychen commented on a change in pull request 
#5931: [BEAM-4752] Add support for newer dill dependency
URL: https://github.com/apache/beam/pull/5931#discussion_r201814701
 
 

 ##########
 File path: sdks/python/apache_beam/internal/pickler.py
 ##########
 @@ -40,6 +40,13 @@
 import dill
 
 
+# Dill 0.28.0 renamed dill.dill to dill._dill:
+# 
https://github.com/uqfoundation/dill/commit/f0972ecc7a41d0b8acada6042d557068cac69baa
+# TODO: Remove this once Beam depends on dill >= 0.28
+if not hasattr(dill, 'dill'):
 
 Review comment:
   Can you use getattr is not None instead? (See 
https://hynek.me/articles/hasattr/)

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 122027)
    Time Spent: 20m  (was: 10m)

> Import error in apache_beam.internal.pickler: "'module' object has no 
> attribute 'dill'"
> ---------------------------------------------------------------------------------------
>
>                 Key: BEAM-4752
>                 URL: https://issues.apache.org/jira/browse/BEAM-4752
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-py-core
>    Affects Versions: 2.4.0
>         Environment: CentOS Linux release 7.4.1708
> Python 2.7.13
>            Reporter: Barry Hart
>            Assignee: Ahmet Altay
>            Priority: Major
>             Fix For: 2.4.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> I'm seeing the following error (stack trace below). I looked at the module 
> structure of the {{dill}} library, and it does not have a {{dill}} submodule 
> (although it *does* have a {{_dill}} submodule). I think the correct way to 
> reference {{Pickler}} is simply {{dill.Pickler.}}
> {noformat}
> Traceback (most recent call last):
>   File "script/beam_run_model.py", line 29, in <module>
>     import apache_beam as beam
>   File 
> "/usr/local/pyenv/versions/2.7.13/lib/python2.7/site-packages/apache_beam/__init__.py",
>  line 84, in <module>
>     import apache_beam.internal.pickler
>   File 
> "/usr/local/pyenv/versions/2.7.13/lib/python2.7/site-packages/apache_beam/internal/pickler.py",
>  line 107, in <module>
>     dill.dill.Pickler.dispatch[type])
> AttributeError: 'module' object has no attribute 'dill'{noformat}
> Oddly, I have successfully used Beam 2.4.0 in the past with this version of 
> Dill.  ¯_(ツ)_/¯



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to