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. Jmeter进阶篇之监控服务器cpu,内存

    对于Jmeter,可以不再赘述,因为介绍得也够多了. 那么相信有部分同学已经尝试着自主去学习如果使用Jmeter对服务器进行压力测试了. 但是可能也会发现,Jmeter好像监控不了服务器的cpu已经内 ...

  2. (后台)java 读取excel 文件 Unable to recognize OLE stream 错误

    原因:不支出读取 excel 2007 文件(*.xlsx).只支持 excel 2003 (*.xls). 光修改文件后缀不行,需要文件另存(或者导出)为 .xls Excel 1997-2004 ...

  3. Python中列表

    names=["Linda","Lily","Lucy","Grace","Paul"] #切片 p ...

  4. mysql快速生成truncate脚本清空数据库表记录

    语句格式: select CONCAT('truncate TABLE ',table_schema,'.',TABLE_NAME, ';') from INFORMATION_SCHEMA.TABL ...

  5. Scala多重继承及AOP

    package traitandclass /** * Created by zhen on 2018/8/23. */ class Human { println("Human" ...

  6. 将mssql数据库高版本迁移到低版本

    将mssql数据库高版本迁移到低版本 在低版本目标数据库中创建目标空数据库[TargetDb] ,注意新建数据库即可,不要创建任何表 在低版本数据库中,选中[服务器对象=>链接服务器] 右键[新 ...

  7. C++中int型与string型互相转换(转)

    http://greatverve.cnblogs.com/archive/2012/10/24/cpp-int-string.html 本以为这么多年C#经验,学个C++没多难,现在发现错了.C++ ...

  8. VRS的GPS/BDS双系统网元固定存在的问题

    问题如下:部分网元固定卫星数少于2个. 另外:北方xinkong的网元组网也存在问题

  9. 软件工程实践_Task2_sudoku

    软工实践_Task2 标签(空格分隔): 软工实践 相关要求:第二次作业--个人项目实战 github:传送门 解题思路 先是一点杂谈. 首先,看完作业要求之后,心里先有个大概的框架. 语言:C++ ...

  10. 理解LSTM

    本文基于Understanding-LSTMs进行概括整理,对LSTM进行一个简单的介绍 什么是LSTM LSTM(Long Short Term Memory networks)可以解决传统RNN的 ...