# Make IJulia completly independent from Python

**URL:** <https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375>\
**Category:** General Usage\
**Tags:** python\
**Created:** [November 10, 2018, 2:06am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375 "2018-11-10T02:06:57Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [November 10, 2018, 2:06am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/1 "2018-11-10T02:06:57Z")

</div>

Why do we need to have python installed on our computers in order to use Julia?  
If we want to use Julia through a GUI such as VS Code, Juno, Jupyter… we need to install IJulia and therefore python.  
Is there any alternative?  
It would be great to be able to use it without python.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [November 10, 2018, 2:14am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/2 "2018-11-10T02:14:07Z")

</div>

> [@Juan](#):
>
> If we want to use Julia through a GUI such as VS Code, Juno, Jupyter… we need to install IJulia and therefore python.

No, just Jupyter.

---

<div class="post-metadata">

**Author:** ![tkoolen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkoolen/32/1603_2.png) [@tkoolen](https://discourse.julialang.org/u/tkoolen)\
**Post date:** [November 10, 2018, 2:41am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/3 "2018-11-10T02:41:04Z")

</div>

Python is a Jupyter dependency though, see [Project Jupyter | Installing Jupyter](https://jupyter.org/install). So you need it in some form or another. @Juan, are you also opposed to having Python installed via [https://github.com/JuliaPy/Conda.jl](https://github.com/JuliaPy/Conda.jl) (the default on Windows and Mac)? If Conda.jl is also unacceptable for some reason, you’re out of luck if you want to use Jupyter.

---

<div class="post-metadata">

**Author:** ![ssfrr](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ssfrr/32/3736_2.png) [@ssfrr](https://discourse.julialang.org/u/ssfrr)\
**Post date:** [November 10, 2018, 2:53am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/4 "2018-11-10T02:53:59Z")

</div>

I think he meant you only need Python for Jupyter - you don’t need Python for VS Code or Juno

---

<div class="post-metadata">

**Author:** ![tkoolen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkoolen/32/1603_2.png) [@tkoolen](https://discourse.julialang.org/u/tkoolen)\
**Post date:** [November 10, 2018, 3:06am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/5 "2018-11-10T03:06:00Z")

</div>

Oh I see, haha.

---

<div class="post-metadata">

**Author:** ![tkf](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkf/32/17635_2.png) [@tkf](https://discourse.julialang.org/u/tkf)\
**Post date:** [November 10, 2018, 3:36am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/6 "2018-11-10T03:36:20Z")

</div>

There is nteract [https://github.com/nteract/nteract](https://github.com/nteract/nteract), if you want to have a “Python-free” Jupyter Notebook frontend (or more precisely a frontend that hides that it uses Python internally). It has native binary releases so you don’t even need conda [https://github.com/nteract/nteract/releases](https://github.com/nteract/nteract/releases)

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [November 10, 2018, 3:43am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/7 "2018-11-10T03:43:44Z")

</div>

In fact I just want to use VS code but I think I also need to have IJulia installed and then jupyter.

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [November 10, 2018, 3:53am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/8 "2018-11-10T03:53:59Z")

</div>

It’s on my to-do list to allow IJulia to be installed without Jupyter ([Allow Installation Without Jupyter · Issue #692 · JuliaLang/IJulia.jl · GitHub](https://github.com/JuliaLang/IJulia.jl/issues/692)), but I haven’t gotten around to it yet.

---

<div class="post-metadata">

**Author:** ![Yifan\_Liu](https://avatars.discourse-cdn.com/v4/letter/y/4da419/32.png) [@Yifan\_Liu](https://discourse.julialang.org/u/Yifan_Liu)\
**Post date:** [November 10, 2018, 5:06am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/9 "2018-11-10T05:06:43Z")

</div>

Many Linux distros have Python preinstalled, you don’t need to install Python in many cases if you use Linux. I am also not a big fan of Python.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [November 10, 2018, 12:33pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/10 "2018-11-10T12:33:14Z")

</div>

I don’t have anything against Python, I just think it would be nice that Julia was independent from other tools/languages/kernels and it will make easier to install it with a GUI. And many potential Julia users use Windows and OSX.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [November 11, 2018, 7:29am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/11 "2018-11-11T07:29:51Z")

</div>

> [@Juan](#):
>
> it would be nice that Julia was independent from other tools/languages/kernels and it will make easier to install it with a GUI

I think you misunderstand the situation, which can be summarized as follows:

1. _Julia_, the language, does not depend on Python in any way.
2. Libraries which don’t use Python of course don’t need Python.
3. Libraries which do use Python do (doh).
4. You are using a GUI which depends on Python. If this bothers you so much, use another GUI which doesn’t.

---

<div class="post-metadata">

**Author:** ![johnh](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnh/32/3615_2.png) [@johnh](https://discourse.julialang.org/u/johnh)\
**Post date:** [November 11, 2018, 9:04am UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/12 "2018-11-11T09:04:29Z")

</div>

@Juan does have a point to be fair. IF you are planning the roll out of a new ‘base image’ for your corporate use, or for pehaps a University wide installation, or perhaps for a cloud deployment you of course have to decide which packages to install.  
What I am trying to say is that for systems programmers it is safe to assume that in the Linux world there will be a bash shell installed in the base image - therefore many systems utilities are currently written in bash.

I have seen many scientific software packages which ship with their own version of Python just so they can depend on a known version with known features. Also I am thinking of IBM Spectrum Scale - which ships with its own ksh - as many of the scripts are written in ksh.

As @Tamas_Papp points out, base Julia does not depend on Python.  
SO I guess what I Am assaying is if you write system-level utilities which should run on any system with Julia installed, be careful of what modules you require.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [November 11, 2018, 12:33pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/13 "2018-11-11T12:33:48Z")

</div>

I agree but most GUI rely on IJulia and therefore the needs Python.  
Maybe the title of the thread should be “Make IJulia independent from Python”.

---

<div class="post-metadata">

**Author:** ![pfitzseb](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/pfitzseb/32/45566_2.png) [@pfitzseb](https://discourse.julialang.org/u/pfitzseb)\
**Post date:** [November 11, 2018, 12:45pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/14 "2018-11-11T12:45:07Z")

</div>

> [@Juan](#):
>
> I agree but most GUI rely on IJulia and therefore the needs Python.

Basically no GUI except for Jupyter relies on Python – neither Juno nor VSCode (the Language Server, rather) don’t have any dependency on Python.

---

<div class="post-metadata">

**Author:** ![Juan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juan/32/7657_2.png) [@Juan](https://discourse.julialang.org/u/Juan)\
**Post date:** [November 11, 2018, 6:17pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/15 "2018-11-11T18:17:21Z")

</div>

I thought VS Code also had that problem because I wasn’t able to make it work with Julia 1.0

---

<div class="post-metadata">

**Author:** ![mkborregaard](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkborregaard/32/556_2.png) [@mkborregaard](https://discourse.julialang.org/u/mkborregaard)\
**Post date:** [November 11, 2018, 7:43pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/16 "2018-11-11T19:43:31Z")

</div>

VS code just hasn’t been updated to 1.0 yet

---

<div class="post-metadata">

**Author:** ![pharten](https://avatars.discourse-cdn.com/v4/letter/p/c6cbf5/32.png) [@pharten](https://discourse.julialang.org/u/pharten)\
**Post date:** [November 19, 2018, 3:09pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/17 "2018-11-19T15:09:17Z")

</div>

You can edit and run Julia with Eclipse as your GUI with the plugin JuliaDT from Eclipse Marketplace.

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [January 4, 2019, 5:46pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/18 "2019-01-04T17:46:59Z")

</div>

> [@stevengj](#):
>
> It’s on my to-do list to allow IJulia to be installed without Jupyter ([https://github.com/JuliaLang/IJulia.jl/issues/692](https://github.com/JuliaLang/IJulia.jl/issues/692)), but I haven’t gotten around to it yet.

Update: This is done in the latest IJulia release.

---

<div class="post-metadata">

**Author:** ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)\
**Post date:** [January 4, 2019, 5:55pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/19 "2019-01-04T17:55:11Z")

</div>

What does it mean to have an IJulia kernel without Jupyter? Is this for Hydrogen or something?

---

<div class="post-metadata">

**Author:** ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)\
**Post date:** [January 4, 2019, 6:02pm UTC](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375/20 "2019-01-04T18:02:31Z")

</div>

The IJulia kernel just sits there listening on ZMQ — it doesn’t use Python or Jupyter directly, it just talks in the Jupyter protocol. Something other than a local Python-based Jupyter front-end might communicate with the IJulia kernel: a remote Jupyter client, Hydrogen, nteract, …

Previously, IJulia required Jupyter to be installed in order to install the kernel specification via `jupyter kernelspec install`. However, since the installation location is documented and standardized, and “installation” consists of just writing a JSON file to the right place, it was straightforward to do this manually and remove the `jupyter` dependency.

There is still an `IJulia.notebook()` function that launches the notebook, which requires `jupyter notebook`, but this now prompts you for whether to install Jupyter (via Conda.jl) at runtime when `notebook()` is executed, rather than in `Pkg.build("IJulia")`. People who don’t want IJulia to install Jupyter can just run `jupyter notebook` themselves in whatever way they like.

[Next page](https://discourse.julialang.org/t/make-ijulia-completly-independent-from-python/17375.md?page=2)
