【问题标题】:How to install new packages for Mathematica?如何为 Mathematica 安装新软件包?
【发布时间】:2011-01-09 20:16:23
【问题描述】:

为 Mathematica 安装新软件包的正确程序方式是什么?

特别是,当你从 MathWorld 下载 any notebook 时,你会得到一个 link 到 Mathworld 包,这是一个包含几十个 .m 文件的 zip 文件

他们去哪儿了?

【问题讨论】:

  • 有时版本不一致会让我在这样做时发疯。只有我一个人吗?
  • 不确定版本不一致,但我花了两个小时试图让我的自定义符号在 .m 文件中正常工作,但没有成功

标签: wolfram-mathematica


【解决方案1】:

要让 Mathematica 可以看到您下载或亲自创建的包,请将它们放在 $UserBaseDirectory/Applications$BaseDirectory/Applications(如果您希望系统上的所有用户都可以访问它们)。或者,版本 8.0.4(可能更早)有一个菜单选项:File -> Install 这将为您完成。菜单选项会弹出以下对话框

“仅为此用户(名称)安装”选项将其安装在$UserBaseDirectory 下,而“为所有用户”选项将其安装在$BaseDirectory 下。

有关Mathematica 将所有内容放在哪里的更多信息,我会阅读此tutorial,并查看directory operations functionality

【讨论】:

    【解决方案2】:

    如果它们只是临时包,从当前目录加载它们通常更容易,但否则将文件移动到 $Path 上的任何位置(如 rcollyer 建议的 $UserBaseDirectory/Applications)将起作用,尽管有些目录是自动加载。

    我通常的解决方案是拥有

    SetDirectory[NotebookDirectory[]]
    

    在所有笔记本中或多或少是第一行。然后我可以使用 Needs["foo"]` 从笔记本目录加载包。对于版本控制,您可以使用更详细的需求形式:

    Needs["foo`","foo-001.m"] 
    

    【讨论】:

      【解决方案3】:

      在 Windows 下,使用%AllUsersProfile% 目录而不是%UserProfile% 来存储额外的包通常会更好。 The following command给出Windows下对应目录的路径:

      First@ReadList["!cmd /C echo %AllUsersProfile%", 
         String] <> "\\Application Data\\Mathematica\\Applications"
      

      附:我认为 John Fultz 的 thisthis 答案是相关的。

      【讨论】:

      • 请在您的答案中添加您认为这更好的原因。
      • @Mr.Wizard 这是个人喜好问题。为多用户计算机的所有帐户共享所有有益的更改通常更容易,因此您不会怀疑为什么相同的帐户在一个帐户下有效,但在其他帐户下无效。
      猜你喜欢
      • 2021-11-17
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-03-11
      • 2015-04-11
      • 2017-12-30
      • 2019-11-24
      相关资源
      最近更新 更多