1.引言

julia最近十分受关注,其结合了python的通用性,Ruby的动态性,C的代码运行速度,R的包管理和数据分析功能,perl的字符串处理能力,lisp的宏能力,matlab的矩阵计算规则,fortran的矩阵计算速度,shell的不同程序粘粘能力。可谓是集众家之所长,当下就试了一把,不过还是觉得pip的包管理十分方便,暂时不是很习惯R的包管理方式。

julia将所有的包依赖github进行管理,而不是如pypi一样建立个独立的网站,其中包含了所有注册的包(你写的包被官方收录)的元数据General,以及几乎所有2261个包都是在github上。当然这给生产环境等无法联网的机器带来了不小的麻烦。这里经过试验和查找stackoverflow等方式,算是找到了几个解决方法。

下面主要在centos 7.3,julia 1.0版本上进行实现。

2. 在线安装

using Pkg
Pkg.add("Example")

是不是很方便,而且自动解决依赖,而且一行就能更新所有的包版本

3. 先离线安装General,然后离线安装其他包

3.1 如果机器能代理上网

如果你的机器是需要通过代理上网的,那么会需要设定http_proxy,https_proxy等,然而当爆出



可以尝试

export https_proxy=http://192.168.71.33:8080

即给https附加http的代理。然后采用之前的在线安装方式直接安装,美滋滋。

3.2 机器都不能联网

如果也不能联网,那么首先找到所需要的包,如General:

1 - 先找一台能上网的机器

git clone https://github.com/JuliaRegistries/General.git

ps:不要直接github上打包的方式下下来,因为这样里面缺少了.git等元数据信息

2 - 将包放入指定位置

如在Pkg模式(按下 ] 这个按键,表示进入Pkg模式,退出可以直接ctrl+c)下直接输入

add General



可以看出,julia的默认路径是~/.julia。当安装完成时,会有如下的目录结构



如果当前为空,则先建立registries,然后将之前github上下载的General包放在~/.julia/registries下面

然后:



成功!

3.3 离线安装其他包

上述我们成功安装了General,为什么先安装它,是因为看到直接在线安装时,都是需要去更新这个包,所以里面也包含了所有的元数据信息。那么现在有疑问了:

  • 我想安装其他包怎么办?
  • 我包有依赖怎么办?

这里有至少2个方法,第一个方法如安装General一样:

3.3.1 类似General方式安装其他包

首先,解决怎么安装其他包问题,这里以Example为例

1 - 将Example以git clone下载

2 - 将该下载的文件夹放到~/.julia/registries

3 - 在Pkg模式下直接安装如下图



解决。

3.3.2 直接修改General中的包源地址

这里依然以Example为例



可以看出,在/root/.julia/registries/General下面包都是按照首字母进行存储的,我们直接定位到Example中



找到Package.toml



手动将里面的repo改成你自己本地包的路径(这个Example也是通过git clone下载的)

然后回到Pkg模式下



可以看到成功了,

那么如果你有依赖,你可以全都下下来,然后修改General中的位置(用个python批量修改下,我觉得不难),直接让他本地寻找即可!这里我就没再试了,后续遇到接着更新

[julia]本地离线安装package的更多相关文章

  1. python使用pip 18以上版本离线安装package

    在内网办公环境,常常需要使用离线安装python的软件包. 一般都会先在互联网的电脑上下载,再拷贝到内网办公机器上进行离线安装. 一般来说,我是这样做的: 1.拷贝和外网电脑上版本一致,且32位或64 ...

  2. 解决python本地离线安装requests问题

    使用python36进行本地requests安装的时候,由于安装requests需要联网,导致安装失败,现象如下: 一开始以为,需要安装什么证书,其实只是需要一个python的证书库,(⊙﹏⊙)b 执 ...

  3. Sublime Text3 离线安装Package Control并使用GBK编码 --转自https://blog.csdn.net/swhard/article/details/78930371

    1.关闭Sublime Text 3,去https://github.com/wbond/package_control/releases下载一个zip包,我下载的是 2.将包内的顶层文件夹解压至C: ...

  4. 一个极为简单的方法实现本地(离线)yum安装rpm包

    首先,我要关心的问题仍然是如何离线或者本地yum安装rpm包?这其中的关键当然是获取rpm包到本地,这其中的麻烦事是去解析依赖关系.然而,我发现一个极为简单的方法可以不用操心rpm包依赖关系,不多不少 ...

  5. sublime text3 离线安装插件方法 package control

    package control 在线安装 一般会出现各种错误 不推荐 离线安装 推荐step1: 打开package control官网https://packagecontrol.io/ step2 ...

  6. VS2015离线安装NuGet Package

    在一些情况下,VS2015直接安装NuGet Package的时候,速度异常缓慢: 所以还是考虑直接离线安装: Step1: 下载相应的Package https://www.nuget.org/ 然 ...

  7. 一款非常好用的万能本地离线激活工具,支持Office2016、Office2015、Win7、Win8/8.1/10、Win2008/2012/R2系统,全自动安装且无需联网状态即可全部激活,它由国外网友heldigard制作,小巧、简单,只需运行而不用去管它自动激活,能自动激活为180天无限循环,欢迎大家下载使用

    office2016激活工具(KMS)是一款非常好用的万能本地离线激活工具,支持Office2016.Office2015.Win7.Win8/8.1/10.Win2008/2012/R2系统,全自动 ...

  8. Visual Studio 2010 SP1 在线安装后,找到缓存在本地的临时文件以便下次离线安装

    由于在下载Visual Studio 2010安装程序(大约3G左右)的时候速度飞快,大约几分钟下载完毕(多线程下载工具下载),所以笔者在继续安装Visual Studio 2010 SP1的时候也选 ...

  9. 本地yum源构建以及Docker离线安装

    Docker离线安装以及本地yum源构建 在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题,dock ...

随机推荐

  1. 【代码笔记】Web-HTML-布局

    一, 效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. python之网络通信协议

    TCP/IP五层协议和OSI的七层协议: TCP和UDP的区别: Tcp协议:面向连接,数据可靠,传输效率低,面向字节流 Udp协议:面向无连接,数据不可靠,传输效率高,面向报文

  3. vue.js及项目实战[笔记]— 04 axios

    一. axios 1. 基本使用 axios.method('url',[,...data],options) .then(function(res){ }) .catch(function(err) ...

  4. python *args,**kwargs用法

    *args用于接受传入的值,无限制,但是不能接收key类型的,如c=2 def fun(*args): for i in args: print(i) print("test") ...

  5. 微信小程序/网站 上传图片到腾讯云COS

    COS简介: 腾讯云提供的一种对象存储服务,供开发者存储海量文件的分布式存储服务.可以将自己开发的应用的存储部分全部接入COS的存储桶中,有效减少应用服务器的带宽,请求等.个人也可以通过腾讯云账号免费 ...

  6. [20180806]tune2fs调整保留块百分比.txt

    [20180806]tune2fs调整保留块百分比.txt --//生产系统一台dg磁盘空间满了.我前一阵子已经将*convert参数修改,增加磁盘,但是这个分区里面的数据文件还可以增长,这样依旧存- ...

  7. [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED.txt

    [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED.txt --//简单探究12c TABLE ACCESS BY INDEX ROWID BATCHE ...

  8. [20170914]tnsnames.ora的管理.txt

    [20170914]tnsnames.ora的管理.txt --//昨天朋友讲tnsnams.ora的内容太长了,而且许多不需要的.管理不方便.我记得以前写[20150409]tnsnames.ora ...

  9. asp.net webapi 自定义身份验证

    /// <summary> /// 验证 /// </summary> /// Account API账号 /// TimeStamp 请求时间 /// Sign 所有请求参数 ...

  10. 位运算符&与、或|、异或^

    &按照二进制位进行运算 如:运算规则:0&0=0: 0&1=0:1&0=0:1&1=1:即:两位同时为“1”,结果才为“1”,否则为0[有0则0] 3& ...