Juno - how to switch console languages?

I’m new to IDEs and am trying to get Atom/Juno to a useful state.

With Juno working on Atom, the console repl is now solely Julia.
Is there a way to switch it to other languages, say python?

Editor panes recognize python scripts just fine, but attempting to execute them in Atom ends up trying to call julia.

I don’t have a definite answer, but the following may help. In the menu panel for Atom, there is a menu called Julia, which lists a command for Open Console. There might be a corresponding option for Python. Rcall has an R mode for the REPL. I’m not sure if PyCall has a similar mode.

There is not – Juno is very much a Julia IDE.
You can however open a plain terminal with the Julia Client: New Terminal command, in which you can start python or whatever other program you might want.

1 Like

I searched through the available packages and tried adding python-ide… not knowing what i’m doing. No luck though. But as R in the third language I’d want, Rcall is a help. Thanks!

Ah, gotcha. So once I’ve installed Juno into Atom there is no longer access to vanilla Atom? Other installed IDEs aren’t available? (i’m confused, and am thinking I should start over)

No, Juno is basically only a collection of packages for Atom. You can install whatever other packages you want (although other Julia specific packages might cause conflicts).

I don’t quite understand what you want though, so if you elaborate a bit I might be able to help.

1 Like

Sure, and thanks for replying…
I need to work a little in each; python, Julia, & R. To date I’ve always just used Geany and a terminal. A friend convinced me to give IDEs a try. At first it looked like I’d need a different IDE for each language, with all their different key bindings and menu structures… no thanks. So I thought I’d try to find an IDE that would work with multiple languages, hence Atom. (I don’t need them concurrently, just one at a time.) I gave Juno a spin and liked it, so thought it was time to try python in Atom… and got lost. :wink:

Background: I usually work with hardware in a researchy environment but need to do some crude coding to run things. This is mostly for camera systems and other sensors. I try to avoid python but it’s so prevalent… Julia just fits my brain a bit better.

Atom itself is an editor, not an IDE, which is why there are loads of packages to make it into one. Juno is the best developed Julia IDE for Atom and brings lots of features, among them an integrated terminal and Julia REPL.
This functionality is however not shared with any other package, so if you want IDE-like features for e.g. Python you need to install other packages – the python-ide package should work fine, although I haven’t tried it myself. If you don’t need IDE-like functionality for python then you can just edit files in Atom and start a new terminal inside of Atom (with the abovementioned Julia Client: New Terminal command), in which you can run e.g. a python REPL.
Another option would be hydrogen, which should work with Python and Julia (as well as any other language that is supported by jupyter), but that might clash with Juno (mainly because of shared keybindings and stuff like that).

1 Like

Ok, I see. Will try playing with the ide-python package. This may be a matter of just taking a bit more time and reading the documentation more carefully (!).

Where is the Julia Client: New Terminal command of which you speak? (i’m using Atom 1.33.1) I’ve only found Julia > Open Terminal… which just starts another Julia repl in an external term program.

Press Ctrl-Shift-P to bring up the command pane and type in Julia Client: New Terminal. That’s in general the fastest way to find and access any functionality, once you get used to it (because there might in fact not be a menu entry). Also take a look a Juno’s docs.

That works, thanks!
Back to the docs. :slight_smile:
Thanks for the help.

is there a shortcut for this?

No, but it’s trivial to define your own by e.g. putting

  'ctrl-j ctrl-n': 'julia-client:new-terminal'

into your custom keybindings file (which you can open with with Application: Open Your Keymap).

An option I’ve used to run Python scripts in atom is the Script package in Atom. Once installed, you can run the script by selecting Packages >> Script >> Run Script from the menu bar, or by pressing Ctrl + Shift + B on Windows, or Cmd + I on a Mac. Script supports a number of different languages, including Python. So far, I have been able to use this alongside of Juno with no issues.