Ask Your Question
1

Get output of a .py file in a browser

asked 5 years ago

Hi-Angel gravatar image

It seems like basic question, but I already spent about 2 hours, tried jupyter, command line, different combinations, different commands, lots of stuff…

Basically, I have file test.py with one line of content, taken straight from docs:

plot(graphs.HeawoodGraph())

I want to evaluate it, and get a picture of the plot in a browser.

What I don't want:

  • to open some external app for PNG files because in future I gonna need interactivity
  • to open the file in some text editor inside a browser because I already have it opened in Emacs
  • to get errors about graphs being undefined because when I execute in sage terminal, it's all correctly defined.
  • to search for imports to run every particular sage example from docs, because typing those examples directly in sage interactive interpreter works just fine (the examples don't include imports), so I see no reason to put an unnecessary effort over that.
Preview: (hide)

Comments

What operating system, and how was Sage installed?

slelievre gravatar imageslelievre ( 5 years ago )

1 Answer

Sort by » oldest newest most voted
3

answered 5 years ago

slelievre gravatar image

updated 5 years ago

If you don't want to add any import statement, rename your file to test.sage.

Let your file contain this:

graphs.HeawoodGraph().plot().show()

If you want to keep the file as .py you will need the import statements.

In this case:

from sage.graphs.graph_generators import graphs
graphs.HeawoodGraph().plot().show()

Note that the import statements are easy to figure out with the dedicated command.

sage: import_statements('graphs')
from sage.graphs.graph_generators import graphs
Preview: (hide)
link

Comments

Adding .show() simply adds a text output Graphics object consisting of 36 graphics primitives, but I don't get it in a browser (or even in a PNG viewer for that matter). If that helps, when I run the same code directly from sage interactive prompt, I get a bit different output Launched png viewer for Graphics object consisting of 36 graphics primitives.

Hi-Angel gravatar imageHi-Angel ( 5 years ago )

Are you running a SageMath kernel in the notebook? Or a plain Python kernel?

Iguananaut gravatar imageIguananaut ( 5 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 5 years ago

Seen: 329 times

Last updated: Apr 03 '19