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批量修改下,我觉得不难),直接让他本地寻找即可!这里我就没再试了,后续遇到接着更新

最新文章

  1. 如何权衡自己的angular水准
  2. oracle DBlink 【转】
  3. ArcEngine读取数据(数据访问) (转)
  4. Hadoop 面试题之Hbase
  5. Unity3D读取模型文件自动生成AnimatorController简单实例
  6. spring 小结
  7. 阻止a标签的默认事件及延伸
  8. Java的栈和队列
  9. ibm云时代的转型
  10. AR增强现实开发介绍(续)
  11. 对C#Chart控件使用整理
  12. 【Java并发编程】:并发新特性—Lock锁和条件变量
  13. 关于dubbo的架构
  14. equals方法变量和常量位置区别
  15. Spark-Streaming总结
  16. python opencv 人脸识别
  17. XAMPP非本地访问被拒绝解决办法
  18. mysqldb下载地址
  19. Hibernate 使用log4j输出日志
  20. CentOS 7 : Docker私有仓库搭建和使用

热门文章

  1. 网络编程学习二(IP与端口)
  2. canvas实现验证码
  3. KVM虚拟化研究-1
  4. 移植marvell poncat3 demo板的总结
  5. Android开发专业名词及工具概述
  6. Flutter 布局(六)- SizedOverflowBox、Transform、CustomSingleChildLayout详解
  7. 自己搭建git 代码服务器
  8. Python笔记(十四):操作excel openpyxl模块
  9. scrapy系列(四)——CrawlSpider解析
  10. maven——依赖管理