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. linux学习笔记-安装配置使用clamav杀毒软件

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 1.安装clamav 2.更新病毒库 # freshclam 如果更新不了,或者更新特别慢,可以手动下载病毒库文件,放到/var ...

  2. HTML5本地存储localStorage与sessionStorage详解

    前言 在最近的项目中用到了html5的本地存储,下面总结一下. 1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(appl ...

  3. B-树、B+树

    B-树 用来在外部存储中组织数据. 严格来说,2-3树.2-3-4树都是B-树的特例:但B树更强调它的节点有很多个子节点,B-树中的节点可以有几十或几百个子节点. B-树也可以是查找树,也可以不是查找 ...

  4. MVP架构分析与搭建

    一个项目的核心就是架构 1.什么是MVP:MVP是一种项目架构设计模式. 其实MVP的本质就是将view和model完全隔离出来,通过Presenter (主持人) 统一调度管理.

  5. CSS页面布局常见问题总结

    在前端开发中经常会碰到各种类型布局的网页,这要求我们对css网页布局非常熟悉.其中水平垂直居中布局,多列布局等经常会被使用到,今天就来解决一下css布局方面的问题. 水平垂直居中的几种方法 说到水平垂 ...

  6. ASP.NET MVC从请求到响应发生了什么

    *过程描述 当浏览器发出一个http请求后,该请求被UrlRoutingModule截获,UrlRoutingModule根据请求上下文去系统路由表(RouteTable)中匹配,从中获取一个Rout ...

  7. jQuery 实现图片动画代码

    向下移动动画 $(".image").click(function(){ $(this).animate({height:'0px'}) }); <!doctype html ...

  8. 第七章 Hyper-V 2012 R2 授权管理

    当企业或组织的规模越来越大时,维护某一项单独的应用可能会由特定的运维人员进行管理.考虑到安全风险的问题,一般特定的运维人员不会拥有域管理员权限.自 Windows Server 2012 开始,操作系 ...

  9. 第七章 鼠标(CHECKER4)

    /*--------------------------------------------- CHECKER4.C -- Mouse Hit-Test Demo Program No.4 (c) C ...

  10. win7计划任务报该任务映像己损坏或己篡改

    目录 win7计划任务报该任务映像己损坏或己篡改 前言 解决方案 排查损坏的计划任务映像 win7计划任务报该任务映像己损坏或己篡改 文:铁乐与猫 2018-9-20 前言 win7下想自定义一些计划 ...