Promise 机器学习 拓展培训公司 微信直播 post layer dns datagrid angular ui router 后台模板 react脚手架搭建 多店版微信商城 click事件 增删改查sql语句 重置hosts mysql配置远程连接 pythonsocket编程 mysql临时表 python读文件 java环境部署 java替换字符串 java成员变量 java数组 java中string的方法 java集合类型 linux密码 java网络编程 opengl编程指南 脚本之家 js数组删除指定元素 动态加载js 渐变事件 剑三醉猿 编程语言实现模式 银头鲑鱼 python图片处理 极限防守图 facetime要钱吗 批处理for 死从天降成就
当前位置: 首页 > 学习教程  > 编程语言

如何正确的使用Julia的包

2021/2/13 19:22:00 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

当我们需要引入一些不在Julia注册表里的包/自己新建文件夹而不是使用generate或者通过PkgTemplates.jl创建的包时,我们该如何将其添加到Julia的环境呢? 不在Julia注册表里的包 第一种情况,GitHub上有的项目第二种情况,GitHub上无法引入的项目 GitHub上有的项目 给我好好看文…

当我们需要引入一些不在Julia注册表里的包/自己新建文件夹而不是使用generate或者通过PkgTemplates.jl创建的包时,我们该如何将其添加到Julia的环境呢?

不在Julia注册表里的包

  1. 第一种情况,GitHub上有的项目
  2. 第二种情况,GitHub上无法引入的项目

GitHub上有的项目

给我好好看文档!

pkg> add https://github.com/fredrikekre/ImportMacros.jl
  1. 进入REPL(就是用终端打开的Julia界面)
  2. 按下]
  3. 输入add,按下空格键
  4. 打开浏览器,在GitHub的项目页面里点击绿色的Code
  5. 复制https链接
  6. 回到REPL,按下Ctrl+Shift+v
  7. 回车

GitHub上无法引入的项目

一般情况下,主要是因为这个包基于早期的Julia构建的

早期的Julia没有Project.toml这样的文件,具体详情在这里

解决方案1:

  1. 在你的工作目录(或者你喜欢的文件夹下)打开Julia
  2. 进入pkg>模式
  3. 输入generate 项目名称
  4. 将除了Project.toml文件以外的所有文件与文件夹删除,并替换成你clone下来的文件
  5. 回到终端,输入activate .,注意,activate后面有空格
  6. 输入up; precompile(如果是1.6版本,可以只输入instantiate,这样相对简单一些)

如果你不打算提交更改以让这个包适应新版本Julia而只是自用的话,这个方法相对方便一些

其中,你可以仅仅移动Project.toml文件并进行其它操作达到同样的效果,但是考虑到看这篇文章的读者水平可能有很大不同,这里写了适合爱抄代码的小白能够接受的教程

解决方案2:

  1. 使用PkgTemplates.jl构建一个同名项目
  2. __删除原项目的.git文件夹__并将使用PkgTemplates.jl构建的项目的文件全部替换为原项目的

如果打算进行PR,这是个好选择

注意,只进行这几步相当于私有化这个包,请查看原项目是否有开源协议并详细阅读,否则请修改使用PkgTemplates.jl时的参数,或者删除使用PkgTemplates.jl构建的项目的.git文件夹

添加没有使用generate或者通过PkgTemplates.jl创建的包

你相当于创建了一个"GitHub上无法引入的包"

gcdev

dev:一种更加方便的添加到环境的方式

gc:减少磁盘占用


本文链接: http://www.dtmao.cc/news_show_700315.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?