# Installing Julia in Windows Environment with No Internet

**URL:** <https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243>\
**Category:** Tooling\
**Tags:** windows, installation, firewall, environment\
**Created:** [April 29, 2021, 1:20pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243 "2021-04-29T13:20:55Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [April 29, 2021, 1:20pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/1 "2021-04-29T13:20:55Z")

</div>

Hi all,

I need to install Julia to a Windows environment that does not have an internet connection. I can prepare the installation outside of this environment but then need to transfer the installation to the space. I wanted to install the following packages prior to moving it into the space:

1. DataFrames
2. BenchmarkTools
3. PyCall
4. Revise
5. TerminalPager
6. CSV
7. XLSX
8. OhMyREPL

Does anyone have any suggestions on how I can accomplish both preparing a Julia installation, installing the packages in the default Julia environment, and then moving Julia into the Windows space?

Thank you!

~ tcp 🌳

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [April 29, 2021, 1:25pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/2 "2021-04-29T13:25:06Z")

</div>

Would I want to build a custom Julia image with these packages bundled into it? Is that a possible solution/option here?

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [April 29, 2021, 5:17pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/3 "2021-04-29T17:17:50Z")

</div>

Upon further investigation, I found this Discourse link: [Offline installation of Julia packages - #16 by wulpuqu](https://discourse.julialang.org/t/offline-installation-of-julia-packages/20083/16)

Are the methods laid out towards the of that discussion still valid?

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [April 30, 2021, 4:49pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/4 "2021-04-30T16:49:26Z")

</div>

Update! I believe I found the solution to this problem courtesy of @heetbeet! It seems really great and will report back my work with it. 🙂

Here is the solution: [GitHub - heetbeet/juliawin: A portable Julia for Windows, bundled with VSCode, Pluto, Conda & PyCall, and more.](https://github.com/heetbeet/juliawin)

Update: Updating the `JULIA_DEPOT_PATH` is also important to do for full portability: [Change location of .julia](https://discourse.julialang.org/t/change-location-of-julia/21540)

---

<div class="post-metadata">

**Author:** ![aramirezreyes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aramirezreyes/32/42573_2.png) [@aramirezreyes](https://discourse.julialang.org/u/aramirezreyes)\
**Post date:** [April 30, 2021, 5:46pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/5 "2021-04-30T17:46:06Z")

</div>

Have you seen @PetrKryslUCSD’s post here?

(Also look at the following comments that include an updated version).

> [@Portable Julia](https://discourse.julialang.org/t/portable-julia/45339/8):
>
> I will teach a course soon where the students will be provided with examples in the Julia programming language. In order to facilitate the procedure I will supply them with a bundle (zip file) that needs to be expanded (anywhere), and a script that the students double-click to install Julia, required packages, and a portable, preconfigured VSCode that pops up at the end of the installation. For anyone interested: [http://hogwarts.ucsd.edu/~pkrysl/shared/Portable\_Julia.zip](http://hogwarts.ucsd.edu/~pkrysl/shared/Portable_Julia.zip) The installation is tot…

---

<div class="post-metadata">

**Author:** ![djholiver](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djholiver/32/50470_2.png) [@djholiver](https://discourse.julialang.org/u/djholiver)\
**Post date:** [April 30, 2021, 7:37pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/6 "2021-04-30T19:37:54Z")

</div>

Hi,

I had to do something similar recently and made use of [PackageCompiler.jl](https://github.com/JuliaLang/PackageCompiler.jl) with a lot of success.

You will have to configure your package dependencies (in VSCode activate the parent directory then do Pkg.add in the repl). before running the PackageCompiler commands but the outcome is an .exe with all the dependencies as .dlls. I did have to run it a few times, modifying for every missing package (some core dependencies like xtsd\_jll were missing for some reason).

This suited my needs to distribute Julia without Julia and provided fully compiled code. The only drawback was that it doesn’t yet support setting the number of threads; but this is mitigated with environment variables.

Regards,

---

<div class="post-metadata">

**Author:** ![Ashlin\_Harris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ashlin_harris/32/210166_2.png) [@Ashlin\_Harris](https://discourse.julialang.org/u/Ashlin_Harris)\
**Post date:** [February 13, 2023, 6:48pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/7 "2023-02-13T18:48:17Z")

</div>

PackageCompiler.jl’s [`create_sysimage()`](https://julialang.github.io/PackageCompiler.jl/dev/sysimages.html) is great for this! You can just swap out Julia’s default sysimage and have a fully-featured Julia session with whatever packages you need. Most packages nowadays are fully relocatable, and this should only require a single compilation, though packages with lazy-loading need to be specified manually. I’ve [written a tutorial on this](https://discourse.julialang.org/t/secure-systems-an-alternate-use-case-for-packagecompiler-jl/90955), and while I’ve never tried setting up a Windows environment this way, it seems possible, and this could be useful to others.

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [February 13, 2023, 7:02pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/8 "2023-02-13T19:02:02Z")

</div>

In theory this should “just work” and I love this solution. However, what becomes the problem is targeting the target architecture where the sysimage will be actually run. Like creating a sysimage on OSX architecture does not automatically permit it to run on a windows machine. Did you get aruond that issue? Also, didn’t realize you were at BCBI @Ashlin_Harris ! Great to see more Julians popping up in the Biomedical spaces!

---

<div class="post-metadata">

**Author:** ![Ashlin\_Harris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ashlin_harris/32/210166_2.png) [@Ashlin\_Harris](https://discourse.julialang.org/u/Ashlin_Harris)\
**Post date:** [February 13, 2023, 7:35pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/9 "2023-02-13T19:35:01Z")

</div>

You’re right, the sysimage is built based on `Manifest.toml`, so it needs to be done on a computer with the same architecture. This approach works best for secure systems that also have a build server.

---

<div class="post-metadata">

**Author:** ![TheCedarPrince](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/thecedarprince/32/17323_2.png) [@TheCedarPrince](https://discourse.julialang.org/u/TheCedarPrince)\
**Post date:** [February 13, 2023, 7:48pm UTC](https://discourse.julialang.org/t/installing-julia-in-windows-environment-with-no-internet/60243/10 "2023-02-13T19:48:50Z")

</div>

Well, that’s not so bad – I wonder if we have a staging/build environment. If so, this may quite possibly be a very powerful and great solution. Thanks for sharing thoughts here, this is really great frankly speaking!
