Hi Alex,

On Sat, Aug 13, 2016 at 7:53 PM, Alexander Bezzubov <b...@apache.org> wrote:

>

> Hi Alex,
> answer inline
>
> On Sat, Aug 13, 2016 at 1:15 PM, Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

>>

>> Thank you guys for the responses.
>>
>> I wonder how much the editor has to do with it since I was able to get
my changes to work (ie the ones in my PR) after manually adding them in a
vanilla editor (I was previously using Atom). However I did later have
issues similar to those mentioned in ZEPPELIN-1133 when importing some
notebooks that I had previously used with the pyspark interpreter in
zeppelin 0.5 and replacing each cell with the python interpreter. If you
are interested, I would be happy to share them with you.
>
>
> It would be very appreciated indeed if you could followup on the issues
that you had \w some reproducible examples i.e in comments in ZEPPELIN-1133

Will do. I'll post the notebook in question in the JIRA thread a bit later
and how to reproduce the errors I was getting.


>
>

>> In general I also think we should continue to try taking matplotlib
integration much further, hopefully to the point where its inline plotting
features in zeppelin are comparable to those found in Jupyter.


>
>
> I totally agree. Could you elaborate a bit on what "inline plotting
features found in Jupyter" do you mean here?

Essentially at we should continue to make matplotlib plotting feel more
seamless. That means we should at the minimum try to accomplish what we
have now using plt.show() instead of z.show(plt) (plt being
matplotlib.pyplot of course). This will require implementing a custom
matplotlib backend which defines the show() function specific for a
zeppelin notebook. Jupyter / ipython accomplishes this through a custom
"inline" matplotlib backend. It could also help pave the way for using
matplotlib's interactive plotting features, which will require some
javascript integration. matplotlib ships a backend that does this called
"nbagg" which accomplishes this for Jupyter.


>
>


>>
>> The latter obviously has the advantage of having more direct python and
javascript integration, but nonetheless this is a subject I would
personally be very interested in exploring in more detail.
>
>
> I'll be happy to help here, let's join forces. What kind of
python\javascript integration do you think we should have in Apache
Zeppelin? May be we should start a new thread discussing it in more details.

Sure thing. Should I make a thread about this on the dev mailing list or
make a new JIRA issue? I think I have already described the gist of it
above, so for now I am thinking we should prioritize the potential
development of a new matplotlib backend for zeppelin that shows static
images. I am mainly a python specialist so I would be happy to collaborate.



Thanks,
Alex
>> On Fri, Aug 12, 2016 at 8:53 PM, Alexander Bezzubov <b...@apache.org>
wrote:

>>>

>>> Hi Alexander,
>>>
>>> thank you for contributing Matplotlib integration improvements!
>>>
>>> You are right, it's odd and this is not your text editor's fault - our
current Python interpreter implementation is quite early stages and these
are artefacts of the way it currently works. Sometimes it does not accept
valid Python files [1].
>>>
>>> I'm working on improving it right now [2], by changing the underneath
mechanism of communication with Python process, which should address this
issues, as well as few others [3], like windows support, better error
detection, etc.
>>>
>>> I hope to submit a PR next week, meanwhile the best way to debug your
changes is to enable logging [4] by adding a line to log4j.properties "
log4j.logger.org.apache.zeppelin.python.PythonInterpreter=DEBUG" (i.e by
creating it in ./python/src/test/resources/ if you want it to work only in
unit-tests, or just changing code to `log.warn` to always log it) in order
to be able to see what exactly actual Python repl process is not happy
about.
>>>
>>> Hope this helps!
>>>
>>>  1. https://issues.apache.org/jira/browse/ZEPPELIN-1133
>>>  2. https://issues.apache.org/jira/browse/ZEPPELIN-1325
>>>  3.
https://issues.apache.org/jira/browse/ZEPPELIN-1133?jql=project%20%3D%20ZEPPELIN%20AND%20component%20%3D%20python-interpreter%20AND%20resolution%20%3D%20Unresolved
>>>  4.
https://github.com/apache/zeppelin/blob/master/python/src/main/java/org/apache/zeppelin/python/PythonInterpreter.java#L221
>>>
>>> --
>>> Alex
>>>
>>> On Sat, Aug 13, 2016, 01:04 Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

>>>>

>>>> An update: It seems like the problem might lie in my editor. After a
bit of hacking into the log fiIes, I found that there were several
IndentationErrors being reported, starting at the PyZeppelinContext
constructor, resulting in a seemingly empty class once bootstrap.py is
processed.  It's still odd because again I can import bootstrap.py in my
local python installation and use z.show() without IndentationErrors.
>>>>
>>>> On Fri, Aug 12, 2016 at 7:19 AM, Goodman, Alexander (398K) <
alexander.good...@jpl.nasa.gov> wrote:

>>>>>

>>>>> Hi,
>>>>>
>>>>> I am attempting to improve the matplotlib plotting capabilities in
the python interpreter (see the ZEPPELIN-1318 JIRA issue) and have ran into
some issues. Specifically, after saving my changes to bootstrap.py and
rebuilding, I get the following error message after running the unit tests:
>>>>>
>>>>> AttributeError: 'PyZeppelinContext' object has no attribute 'show'
expected:<SUCCESS> but was:<ERROR>
>>>>>
>>>>>   PythonInterpreterPandasSqlTest.sqlOverTestDataPrintsTable:129
Traceback (most recent call last):
>>>>>
>>>>>   File "<stdin>", line 1, in <module>
>>>>>
>>>>> The same error message also appeared when I attempted to run the
simple matplotlib example notebook. This seems to happen if I make any
changes to the show_matplotlib() method in bootstrap.py, including one line
changes that don't actually do anything. I also tested the module for
syntax errors in my local python installation and everything seems to check
out, so I can't understand where the problem lies. I am fairly certain my
changes are sound (see [1]). I tested this for a zeppelin build without any
additional options (mvn clean package -DskipTests) both with the modified
and unmodified source code, the latter having no issues.
>>>>>
>>>>> [1] -
https://github.com/agoodm/zeppelin/commit/10c06a9ceb7be94085ea39ebaad8beab7e0ff024
>>>>>
>>>>> Any help would be appreciated.
>>>>>
>>>>> Thanks,
>>>>> Alex
>>>>>
>>>>> --
>>>>> Alex Goodman
>>>>> Data Scientist I
>>>>> Science Data Modeling and Computing (398K)
>>>>> Jet Propulsion Laboratory
>>>>> California Institute of Technology
>>>>> Tel: +1-818-354-6012
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Alex Goodman
>>>> Data Scientist I
>>>> Science Data Modeling and Computing (398K)
>>>> Jet Propulsion Laboratory
>>>> California Institute of Technology
>>>> Tel: +1-818-354-6012
>>
>>
>>
>>
>> --
>> Alex Goodman
>> Data Scientist I
>> Science Data Modeling and Computing (398K)
>> Jet Propulsion Laboratory
>> California Institute of Technology
>> Tel: +1-818-354-6012
>
>

-- 
Alex Goodman
Data Scientist I
Science Data Modeling and Computing (398K)
Jet Propulsion Laboratory
California Institute of Technology
Tel: +1-818-354-6012

Reply via email to