代码之家  ›  专栏  ›  技术社区  ›  Jafar Isbarov

如何在Julia中重新加载包?

  •  0
  • Jafar Isbarov  · 技术社区  · 2 年前

    我已经安装了 Metalhead.jl Pkg 我正在使用这个装置进行开发。每次我对文件夹进行更改时,我都会在VS代码上打开的Jupyter笔记本中测试包的行为。问题是,一旦我运行了以下行:

    using Metalhead
    

    重新运行它不会再次加载Metalhead包。我必须退出笔记本,再次打开它,并运行该行,以查看行为的变化。有没有办法在不退出笔记本电脑的情况下重新加载软件包?

    0 回复  |  直到 2 年前
        1
  •  1
  •   niczky12 AleÅ¡ Kotnik    2 年前

    如果您正在本地处理软件包,请确保通过 Pkg 在开发模式下:

    develop --local Metalhead
    

    这将创建一个新文件夹 dev/Metalhead 在当前项目文件夹中。你需要从朱莉娅开始 julia --project=. 哪里 . 指的是你的项目文件夹。

    然后,您可以对包进行更改,而不是 using 使用 include 要加载本地开发包:

    include("dev/Metalhead/src/Metalhead.jl")
    

    这会给你一个这样的警告:

    WARNING: replacing module Metalhead.
    Main.Metalhead
    

    但在此之后,您可以使用Metalhead中的所有功能,包括新功能,例如:

    julia> Metalhead.AlexNet
    Main.Metalhead.AlexNet
    

    我通过向Metalhead添加一个虚拟函数来测试这一点,但可能还有更优雅的解决方案。

    This video about package development is old ,但你还是可以从Chris那里得到一些建议,所以我建议你去看看。