How to view or save an using plain python (not ipython)?











up vote
1
down vote

favorite












In the process of learning dask, I am trying to generate program graph visualizations using the "visualize" method/function. However, I am not working with a notebook. As far as I can tell, there is no way to have dask output these graphs to anything other than an IPython.core.display.Image object, which I don't know how to view in regular python. For various reasons it's impractical for me to run my code using IPython.



Is there any way to display these objects in a regular Python script/shell? Or at least, to save them to a standard image file on disk?



Thanks!










share|improve this question


























    up vote
    1
    down vote

    favorite












    In the process of learning dask, I am trying to generate program graph visualizations using the "visualize" method/function. However, I am not working with a notebook. As far as I can tell, there is no way to have dask output these graphs to anything other than an IPython.core.display.Image object, which I don't know how to view in regular python. For various reasons it's impractical for me to run my code using IPython.



    Is there any way to display these objects in a regular Python script/shell? Or at least, to save them to a standard image file on disk?



    Thanks!










    share|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      In the process of learning dask, I am trying to generate program graph visualizations using the "visualize" method/function. However, I am not working with a notebook. As far as I can tell, there is no way to have dask output these graphs to anything other than an IPython.core.display.Image object, which I don't know how to view in regular python. For various reasons it's impractical for me to run my code using IPython.



      Is there any way to display these objects in a regular Python script/shell? Or at least, to save them to a standard image file on disk?



      Thanks!










      share|improve this question













      In the process of learning dask, I am trying to generate program graph visualizations using the "visualize" method/function. However, I am not working with a notebook. As far as I can tell, there is no way to have dask output these graphs to anything other than an IPython.core.display.Image object, which I don't know how to view in regular python. For various reasons it's impractical for me to run my code using IPython.



      Is there any way to display these objects in a regular Python script/shell? Or at least, to save them to a standard image file on disk?



      Thanks!







      python image ipython dask






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 22 at 5:19









      42bsk

      83




      83
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote



          accepted










          The .visualize method allows you to specify a filename to output to, and other parameters to be passed to dot/graphviz:



          d.visualize(filename='dask.pdf')


          produces a PDF file output instead of attempting an inline representation. Various other graphical formats are supported, such as PNG (although it may depend on how you installed graphviz).



          -EDIT-



          You can also extract the image bytes from the Image instance



          im = d.visualize()
          open('output.png', 'wb').write(im.data)


          which will be in PNG format (also given by im.format).






          share|improve this answer























          • Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
            – 42bsk
            Nov 22 at 21:57










          • The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
            – mdurant
            Nov 22 at 22:10










          • "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
            – 42bsk
            Nov 23 at 3:28










          • Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
            – mdurant
            Nov 23 at 13:32










          • Your edit is exactly what I was getting at in my first comment. Thanks!
            – 42bsk
            Nov 26 at 6:18











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424314%2fhow-to-view-or-save-an-ipython-core-display-image-object-using-plain-python-n%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          1
          down vote



          accepted










          The .visualize method allows you to specify a filename to output to, and other parameters to be passed to dot/graphviz:



          d.visualize(filename='dask.pdf')


          produces a PDF file output instead of attempting an inline representation. Various other graphical formats are supported, such as PNG (although it may depend on how you installed graphviz).



          -EDIT-



          You can also extract the image bytes from the Image instance



          im = d.visualize()
          open('output.png', 'wb').write(im.data)


          which will be in PNG format (also given by im.format).






          share|improve this answer























          • Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
            – 42bsk
            Nov 22 at 21:57










          • The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
            – mdurant
            Nov 22 at 22:10










          • "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
            – 42bsk
            Nov 23 at 3:28










          • Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
            – mdurant
            Nov 23 at 13:32










          • Your edit is exactly what I was getting at in my first comment. Thanks!
            – 42bsk
            Nov 26 at 6:18















          up vote
          1
          down vote



          accepted










          The .visualize method allows you to specify a filename to output to, and other parameters to be passed to dot/graphviz:



          d.visualize(filename='dask.pdf')


          produces a PDF file output instead of attempting an inline representation. Various other graphical formats are supported, such as PNG (although it may depend on how you installed graphviz).



          -EDIT-



          You can also extract the image bytes from the Image instance



          im = d.visualize()
          open('output.png', 'wb').write(im.data)


          which will be in PNG format (also given by im.format).






          share|improve this answer























          • Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
            – 42bsk
            Nov 22 at 21:57










          • The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
            – mdurant
            Nov 22 at 22:10










          • "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
            – 42bsk
            Nov 23 at 3:28










          • Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
            – mdurant
            Nov 23 at 13:32










          • Your edit is exactly what I was getting at in my first comment. Thanks!
            – 42bsk
            Nov 26 at 6:18













          up vote
          1
          down vote



          accepted







          up vote
          1
          down vote



          accepted






          The .visualize method allows you to specify a filename to output to, and other parameters to be passed to dot/graphviz:



          d.visualize(filename='dask.pdf')


          produces a PDF file output instead of attempting an inline representation. Various other graphical formats are supported, such as PNG (although it may depend on how you installed graphviz).



          -EDIT-



          You can also extract the image bytes from the Image instance



          im = d.visualize()
          open('output.png', 'wb').write(im.data)


          which will be in PNG format (also given by im.format).






          share|improve this answer














          The .visualize method allows you to specify a filename to output to, and other parameters to be passed to dot/graphviz:



          d.visualize(filename='dask.pdf')


          produces a PDF file output instead of attempting an inline representation. Various other graphical formats are supported, such as PNG (although it may depend on how you installed graphviz).



          -EDIT-



          You can also extract the image bytes from the Image instance



          im = d.visualize()
          open('output.png', 'wb').write(im.data)


          which will be in PNG format (also given by im.format).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 23 at 14:00

























          answered Nov 22 at 13:44









          mdurant

          9,80111435




          9,80111435












          • Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
            – 42bsk
            Nov 22 at 21:57










          • The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
            – mdurant
            Nov 22 at 22:10










          • "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
            – 42bsk
            Nov 23 at 3:28










          • Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
            – mdurant
            Nov 23 at 13:32










          • Your edit is exactly what I was getting at in my first comment. Thanks!
            – 42bsk
            Nov 26 at 6:18


















          • Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
            – 42bsk
            Nov 22 at 21:57










          • The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
            – mdurant
            Nov 22 at 22:10










          • "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
            – 42bsk
            Nov 23 at 3:28










          • Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
            – mdurant
            Nov 23 at 13:32










          • Your edit is exactly what I was getting at in my first comment. Thanks!
            – 42bsk
            Nov 26 at 6:18
















          Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
          – 42bsk
          Nov 22 at 21:57




          Thanks! Do you know if there's a way to save IPython.core.display.Image objects in general, i.e., not using the visualize filename kwarg? Although this does solve my specific issue.
          – 42bsk
          Nov 22 at 21:57












          The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
          – mdurant
          Nov 22 at 22:10




          The object has attributed like data (some bytes), format and filename for various sources. Not sure which would be populated in this case.
          – mdurant
          Nov 22 at 22:10












          "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
          – 42bsk
          Nov 23 at 3:28




          "filename (unicode) – Path to a local file to load the data from. Images from a file are always embedded." This seems to indicate that the filename attribute is for loading rather than saving. Same goes for the others.
          – 42bsk
          Nov 23 at 3:28












          Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
          – mdurant
          Nov 23 at 13:32




          Yes, there are multiple way to make these images. It could be from a file, or it could be from a bunch of bytes.
          – mdurant
          Nov 23 at 13:32












          Your edit is exactly what I was getting at in my first comment. Thanks!
          – 42bsk
          Nov 26 at 6:18




          Your edit is exactly what I was getting at in my first comment. Thanks!
          – 42bsk
          Nov 26 at 6:18


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53424314%2fhow-to-view-or-save-an-ipython-core-display-image-object-using-plain-python-n%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Berounka

          Fiat S.p.A.

          Type 'String' is not a subtype of type 'int' of 'index'