Import the Pkgs already installed on another PC


#1

Hello,
In my workplace I do not have Internet, so I would like to import the Pkgs already installed on a PC with Internet.
How to proceed?
My interest is to study the Pkg “DiffEqTutorials”. So I need all the dependencies and I would like to do it with Ijulia.
Gracias


#2

I would use a Docker image (possibly on a USB stick, if you are allowed to connect that).


#3

I can connect USB !!
Please Can you guide me how to proceed.


#4

You would need to learn the basics of Docker. There are resources online, eg at

http://docker.com/

I have a minimal setup for something else at


that you can use as a starting point

Presumably the organization that imposes this policy has IT support to help you further.


#5

EDIT: I misread the original post to understand that you do have internet. My bad. My guess is you should be able to move the .julia folder from one machine to the other.


#6

In theory, mostly yes, but

  1. dependencies that are built by packages may be fragile,
  2. binary dependencies that are installed need to be… installed :wink:, which is again tricky without a network and may involve a lot of back and forth.

Even though it requires an initial investment of effort, having a self-contained image is probably the best solution. Virtualization is probably overkill, but a container should be fine.


#7

good points


#8

I think I would just copy the .julia folder and see how far it gets you. Its win win, you either save time or you are super motivated to setup docker afterwards :smile:


#9

Have you actually tried that with a nontrivial setup? It breaks very easily.

For the Docker solution, cf


#10

Where copy the .julia folder from the Pc with Internet?
The Pc without Internet, after installation has two folders:
The firt folder:

Directory of C:\Users\XXXXXX.julia

11/06/2018 06:24 PM .
11/06/2018 06:24 PM …
11/04/2018 01:02 PM logs
11/05/2018 10:02 AM registries
0 File(s) 0
3 Dir(s) 363,801,571,328 bytes free

The second folder:

Directory of C:\Users\XXXXXXX\AppData\Local\Julia-1.0.1

11/06/2018 06:13 PM .
11/06/2018 06:13 PM …
11/04/2018 01:00 PM bin
11/04/2018 01:00 PM etc
11/04/2018 01:00 PM include
11/04/2018 01:00 PM 1,058 julia.lnk
11/06/2018 06:13 PM 0 Julia2.txt
11/04/2018 01:00 PM lib
09/29/2018 11:53 PM 5,265 LICENSE.md
11/04/2018 01:00 PM share
11/04/2018 01:00 PM 112,416 Uninstall.exe


#11

Copy the contents of .julia into the first folder.


#12

Are you SURE there is no corporate proxy server?

There is another very hacky way to do this.
Find the names of all the Julia packages which you need.
CLone the package GitHub trees onto a hard drive.
Connect the hard drive to your target machine.
You could either run a local webserver and futz with your hosts file so GitHub.com is defined as localhost
Or just use add /path/to/package

Before anyone says it, yes this is quite a desperate measure. Not directly Julia, but I have installed RPM packages on secure sites like this.


#13

Yes is corporate proxy server:sweat::sweat::sweat:


#14

@HerAdri We can help with the corporate proxy. I have experience of then when working at ASML.
At the time, the library used by Julia for proxy had a problem with certain types of corporate proxy.
I had the rather strage behaviour of download of packages working sometimes, but not others.
I believe the authentication library has now changed.
You can set environment variables which define your proxy, your username and password - and you may have to do this

Firstly
what messages do you get when trying to add a package? Or does it just hang?
run the ENV command int he Julia REPL and send the output please
What do you know about the corporate proxy? Does NTL authentication mean anything?
You can get the corporate proxy by looking for the settings in your Windows web browser


#15

Please also have a look at this issue


#16

Everything I know about my proxy:

MyProxyfromIE
I installed Julia again and sent the result of ENV command int he Julia REPL
Gracias


#17

julia> ENV
Base.EnvDict with 39 entries:
“=::” => “::\”
“ALLUSERSPROFILE” => “C:\ProgramData”
“APPDATA” => “C:\Users\hermesr\AppData\Roaming”
“CommonProgramFiles” => “C:\Program Files\Common Files”
“COMPUTERNAME” => “HERMES”
“ComSpec” => “C:\WINDOWS\system32\cmd.exe”
“DEFLOGDIR” => “C:\ProgramData\McAfee\Endpoint Security\Logs”

“EQ_LIBRARY_PATH” => "c:\users\hermesr\gcc\i686-pc-mingw32\lib;c:.

“FP_NO_HOST_CHECK” => “NO”
“HOMEDRIVE” => “Z:”
“HOMEPATH” => “\”
“HOMESHARE” => “\\ecpfs\users\hermesr.ELECTRA_CON”
“LOCALAPPDATA” => “C:\Users\hermesr\AppData\Local”
“LOGONSERVER” => “\\DCECP01”
“NUMBER_OF_PROCESSORS” => “4”
“OPENBLAS_MAIN_FREE” => “1”
“OS” => “Windows_NT”
“Path” => "C:\Program Files\ImageMagick-7.0.7-Q16;C:\Pro.

“PATHEXT” => ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH.

“PROCESSOR_ARCHITECTURE” => “x86”
? => ?


#18

@HerAdri this rather old writeup should help.
Troubleshooting libgit2
And this
https://www.freecodecamp.org/forum/t/git-behind-a-proxy-server/13187

git config --global http.proxy http://hemes:password@proxy05.ecp.elc:8080

git config --global https.proxy https://hemes:password@proxy05.ecp.elc:8080
I think you opnly have to set the http proxy

If this does not work we may have to set the HTTP_PROXY environment variable


#19

Sorry for hijacking the thread, I asked a few days ago at the Slack #helpdesk but to no avail - @johnh I’m having related issues, maybe you have an idea:

I’m behind a corporate firewall as well but regular package installations actually work fine, my problem is with those packages that rely on shared libraries. As an example, I fail to precompile DataFrames, as it requires building CodecZlib, which errors out with a could not download https://github... to C:\Users\... error. Any idea what is going wrong here?

(would have caught you at the Julia Hackathon last months if I’d known you’re an expert on corporate proxy issues!)


#20

Perhaps you can debug this using a command line utility like wget or curl. Specify the URL, and see if the proxy works, ask for verbose output (eg --verbose for wget).