美文网首页
julia 的包、模块管理(julia如何导入自己编写的本地模块

julia 的包、模块管理(julia如何导入自己编写的本地模块

作者: mudssky | 来源:发表于2021-07-06 12:47 被阅读0次

jullia中的模块导入的语句主要有两种

下面是一个模块的例子

    module MyModule

    export x, y

    x() = "x"
    y() = "y"
    p() = "p"

    end

使用module定义一个模块,module和end的区间就是一个命名空间了。

导入一个模块有两种关键字 using和import

这两个关键词的区别是,import更像我们平时那个模块。就像python的import

下面是几种导入方式差异的表格

导入代码 当前作用域导入了哪些变量? 可增加新方法的名字
using MyModule All exported names (x and y), MyModule.x, MyModule.y and MyModule.p MyModule.x, MyModule.y and MyModule.p
using MyModule: x, p x and p
import MyModule MyModule.xMyModule.yMyModule.p MyModule.xMyModule.yMyModule.p
import MyModule.x, MyModule.p xp xp
import MyModule: x, p xp xp

using相当于把模块里面的全局变量全部导入了,最终的导入是以全局变量的形式,相当于python的from xxx import *

而 import则是作为一个命名空间导入,这样你就可以mymodule.x这样来调用了,并且import是和export对应的。

另外import还有一个关键的地方是,可以你修改import导入的变量,但是你不能修改using的变量

这两个模块导入的方式,并不适用于你在本地编写代码。因为julia的包导入是到他自己的路径里去寻找模块的。

所以除非你在他指定的path里写模块,不然是不能导入的。

模块文件路径

全局变量 LOAD_PATH 包含了调用 require 时 Julia搜索模块的目录。可以用 push! 进行扩展 :

    push!(LOAD_PATH, "/Path/To/My/Module/")

将这一段代码放在 ~\.juliarc.jl 里能够在每次 Julia启动时对 LOAD_PATH 扩展。此外,还可以通过定义环境变量 JULIA_LOAD_PATH 来扩展 Julia 的模块路径。

扩展模块路径到你写的模块的位置之后,就可以使用import或者using正常导入了。

这点就有点像go语言了,早期也有类似的限制,就是代码必须放到GOPATH里面。但是后面有了go mod 用作包管理之后,只要用go mod初始化过在任何目录都能正常使用包管理了。

include

正常我们用include就差不多了

include相当于代码拼接,你导入的代码会在include的位置执行。

include("mycode.jl")

就比较简单易用了。

include可以正常使用相对路径之类的,vscode上也支持路径补全。

相关文章

  • julia 的包、模块管理(julia如何导入自己编写的本地模块

    jullia中的模块导入的语句主要有两种 下面是一个模块的例子 使用module定义一个模块,module和end...

  • Julia系列二:来入坑吧

    1.数据类型 先看看Julia中的内建数据模块,这些数据模块通常被称为数据类型。Julia中的每个变量都属于一种特...

  • python学习笔记-模块和包

    模块 模块导入方式 as 定义别名 制作模块 模块定位顺序 all 包 制作包 导入包

  • 包和模块

    一、python中包和模块的区别: 1.包:包含 文件的文件夹,导入模块的可通过 变量。2.模块:编写python...

  • Python-模块

    模块 模块的搜索路径 模块导入的执行流程 循环导入 包 包中模块的使用:import 包的嵌套 包中模块的使用:f...

  • Julia in Jupyter——在Notebook中配置使用

    安装Julia 如何安装,自行百度,Julia中文社区有提供镜像,选择自己想要的。 打开Julia交互页面 下载a...

  • 13-核心编程1

    模块导入问题 如何导入模块:import sys如何查看该模块路径:print(sys.path)如何要导入的模块...

  • 2019-04-30 手把手教你用pytorch实现迁移学习(第

    一.导入所需要的包: 1 导入和数据处理相关的python包 2 导入本地模块和函数 二.导入数据集: 使用Tor...

  • Python学习笔记7

    异常处理包和模块 包和模块的一般操作 导入操作的本质 模块检索的路径 导入模块的场景 第三方包和模块的安装 异常处...

  • Python中的包

    目录 什么是python的包与模块 包的身份证 如何创建包 包的倒入 模块的导入 什么是pytlhon的包 包就是...

网友评论

      本文标题:julia 的包、模块管理(julia如何导入自己编写的本地模块

      本文链接:https://www.haomeiwen.com/subject/zmkgultx.html