IJulia
An IJulia Frontend for Sublime Text 3
Details
Installs
- Total 11K
- Win 4K
- Mac 4K
- Linux 3K
Oct 12 | Oct 11 | Oct 10 | Oct 9 | Oct 8 | Oct 7 | Oct 6 | Oct 5 | Oct 4 | Oct 3 | Oct 2 | Oct 1 | Sep 30 | Sep 29 | Sep 28 | Sep 27 | Sep 26 | Sep 25 | Sep 24 | Sep 23 | Sep 22 | Sep 21 | Sep 20 | Sep 19 | Sep 18 | Sep 17 | Sep 16 | Sep 15 | Sep 14 | Sep 13 | Sep 12 | Sep 11 | Sep 10 | Sep 9 | Sep 8 | Sep 7 | Sep 6 | Sep 5 | Sep 4 | Sep 3 | Sep 2 | Sep 1 | Aug 31 | Aug 30 | Aug 29 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
Mac | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
Sublime-IJulia
Successor to the Sublime-Julia project, now based on the IJulia backend.
Julia is a new, open-source technical computing language built for speed and simplicity. The IJulia project built an IPython kernel for Julia to provide the typical IPython frontend-backend functionality such as the popular notebook, qtconsole, and regular terminal.
Sublime-IJulia builds on these efforts by providing a frontend to the IJulia backend kernel within the popular text editor, Sublime Text. All within Sublime, a user can start up an IJulia frontend in a Sublime view and interact with the kernel. This allows for rapid code development through REPL testing and debugging without ever having to leave our favorite editor.
This project is still in beta, so please be patient and open issues liberally.
ZMQ/IJulia Installation
Before installing the Sublime-IJulia package, you must first ensure you have added and successfully built the ZMQ
julia package from within julia itself. You will also need the IJulia
to be added, though not necessarily successfully built (the reason is that IJulia
requires IPython to be installed, while Sublime-IJulia does not require IPython itself to be installed). Simply adding the IJulia package will ensure the needed files are installed, whether or not it can be used with ipython (though the use of IPython notebooks is highly encouraged for code presentation!) These steps can be done by running the following from within julia:
Pkg.add("ZMQ") # Needs to install and build successfully
Pkg.add("IJulia") # Needs to install, but not necessarily build successfully
See the IJulia page for additional help.
Sublime-IJulia Installation
The Sublime-IJulia project requires Sublime Text 3 with build version > 3019. You can get the latest version here. It also requires a version of the ZMQ library >= 2.0 (the default installation through Julia brings in a working version, so this is only an issue when trying to use system ZMQ libraries).
- Within Sublime Text 3, install the Package Control package from here
- With Package Control successfully installed (you may need to resetart sublime), run
Ctrl+Shift+p
(Cmd+Shift+p
on OSX) to open the Sublime command pallette and start typing “Install Package”, then select “Package Control: Install Package”. - From the list of packages that are then shown, start typing “IJulia” and then select the “IJulia” package. This installs the IJulia package into your Sublime packages directory.
- From the menu bar, open
Preferences => Package Settings => Sublime-IJulia => Settings - Default
- Then, from the menu bar, open
Preferences => Package Settings => Sublime-IJulia => Settings - User
- Copy everything from the
Settings - Default
file into theSettings - User
file - Now, in the
Settings - User
file, scroll down to your platform, you should typically not have to change thezmq_shared_library
field value. These are the expected standard installation locations when installing/building the ZMQ package from within julia, so they should work out of the box. Note, however, for Linux or OSX, that if the ZMQ library was already installed via apt/yum/homebrew, the default path will probably not be correct. The easiest way to locate your ZMQ library (on any platform) is to to run the following commands from within julia:using ZMQ; ZMQ.zmq
. Sometimes, all that is returned islibzmq
which obviously isn't that helpful. In any case, if you do a file system search forlibzmq
, you should be able to locate the absolute path to the library which is needed for yourzmq_shared_library
settings value. PLEASE NOTE: When setting your path, you MUST specify the library extension as well./path/to/zmq/libzmq.so
or/path/to/zmq/libzmq.so.3
for linux,/path/to/zmq/libzmq.dylib
for OSX, and/path/to/zmq/libzmq.dll
on windows. This is by far the toughest step to manage because of the cross-platform issues and non-standard installation locations, but be willing to try a few different paths and restart Sublime in between each attempt. Another tip is to specify the absolute path to the ZMQ library (instead of using~/...
or relative paths. If you're still having issues, please open an issue as mentioned above. - Now change the value of the
"julia": "julia",
field to the absolute path to your julia executable. If julia is on your path, this may not involve changing anything (i.e if you can typejulia
orjulia-readline
from the command line from any directory). Otherwise put the full path to your julia executable (i.e./usr/home/julia/usr/bin/julia
). - With the above two values properly set in the settings file (you should not have to change the “ijulia_kernel” value, you can now run
Ctrl+Shift+p
to open the command pallette and start typing “Open IJulia” and select “Sublime-IJulia: Open New IJulia Console”. If all goes well, a new view should open up in Sublime, titled*IJulia 0*
and the julia banner should display shortly (2-5 seconds). Success! - If an error message pops up, it's probably because Sublime can't find your ZMQ library or julia executable, return to step 7/8. If
***Kernel Died***
shows up in a new view, there's been some kind of error in your julia command, so return to step 7. In any case, please go back over the steps to ensure everything was followed, restart Sublime, and if the results are the same, please open an issue here and I'm more than happy to help troubleshoot the installation.
Using Sublime-IJulia
- Commands can be entered directly in the IJulia console view, pressing
shift+enter
to execute. - A newline can be entered without executing the command by typing
Enter
for multi-line commands. - Pressing the
up
anddown
arrows in the console view will navigate through command history (if any). escape
will clear the current command- All other regular sublime features should work as normal also in the console view (multiple cursors, macros, etc.)
From a julia file (extension .jl), you also have the ability to “send” code to the console to be evaluated.
* Shift+enter
without any code selected will send the current line to the console to be executed
* Shift+enter
with code selected will send the selected text to the console to be executed
* Ctrl+shift+enter
will send the entire file's contents to the console to be executed
Other Sublime-IJulia Package Features
- A suggestion when working with
.jl
julia files is to have your Sublime tab settings set to spaces, since this is the preferred styled. You can do this by having"translate_tabs_to_spaces": true,
in your Preferences=>Settings – User file. - Auto-completion: Most of the stdlib julia functions can be auto-completed from the console and julia (.jl) files. Just start typing a function name and press
tab
to auto-complete with the expected arguments. - Syntax: Syntax highlighting is available for julia files (.jl), you can set them manually by clicking in the lower right-hand side of sublime (there will be “Text” or some other language displayed) and select “Julia” from the list
- You can also automatically apply the Julia syntax by typing
Ctrl+Shift+p
and start typing “Apply Julia syntax” and select that command. This will automatically apply the Julia syntax to all open (.jl) files. - Build: A basic build file is provided, but will probably have to be manually tweaked to provide the path to your julia executable. This can be done by opening your Sublime packages folder, going to the IJulia directory and opening the
julia-build.sublime-build
file. Then you just have to change the “julia” in"cmd": ["julia", "$file"],
to the same value you set in your settings file forjulia_command
(i.e. absolute path to julia, etc.). - Multiple julia commands can be set in the settings file. This is done by adding another “command” object to the “commands” array of your platform. If you were on windows, your entire platform key-value would be:
"windows": {
"zmq_shared_library": "~/.julia/v0.3/ZMQ/deps/usr/lib/libzmq.dll",
"commands": [
{
"command_name": "default",
"julia": "julia-readline.exe",
"julia_args": "",
"ijulia_kernel": "~/.julia/v0.3/IJulia/src/kernel.jl"
},
{
"command_name": "myfork",
"julia": "C:/Users/karbarcca/myfork/usr/bin/julia-readline.exe",
"julia_args": "-p 4",
"ijulia_kernel": "~/.julia/v0.3/IJulia/src/kernel.jl"
}
]
}
Note the comma ,
after the original default command. Another command is then copied down. The "julia":
field is changed to a separate julia executable (in this case, a separate branch of julia, but it could also be a past version of julia or whatever). There are also some arguments passed to the julia executable by "julia_args": "-p 4"
, meaning to start the julia executable with 4 additional processes. With the above commands set, when I go to open a console with ctrl+shift+p
, type “Open IJulia”, a second popup will show me a list of
default
myfork
from which I can choose which julia I want to launch.
Cheers!
-Jacob Quinn