julia - Julia ArgumentError:在当前路径中找不到包 RCall:
问题描述
我刚刚打开了一个新的 Jupyter 笔记本,想加载一些库。
using LinearAlgebra
using SparseArrays
using Statistics
using StatsBase
using RCall
每次我运行单元格时,我都会不断收到相同的错误:
ArgumentError: Package StatsBase not found in current path:
- Run `import Pkg; Pkg.add("StatsBase")` to install the StatsBase package.
所以我运行建议的命令:
import Pkg; Pkg.add("StatsBase")
我重新运行顶部单元格,我收到一个新错误:
ArgumentError: Package RCall not found in current path:
- Run `import Pkg; Pkg.add("RCall")` to install the RCall package.
我不明白为什么我会收到这些错误消息,因为之前已经安装了这些软件包。如果我在另一个目录中打开我预先存在的 Jupyter 笔记本之一,则不会发生此错误。但是,如果我在终端中运行 Julia,我会遇到同样的错误。似乎它在某些目录中工作,而不是在其他目录中。什么可能导致问题?
解决方案
Julia 可以有许多虚拟环境。Julia 虚拟环境有自己的包安装状态,独立于全局环境。
与 Python 不同,每个环境只是在本地硬盘驱动器中保留指向包存储库的链接,而不是包含每个包的完整副本。
环境在Project.toml
文件中定义。
只需运行Pkg.status()
以检查您当前正在使用的环境(这次它显示了我的全局环境):
julia> Pkg.status()
Status `C:\JuliaPkg\Julia-1.6.1\environments\v1.6\Project.toml`
[6e4b80f9] BenchmarkTools v1.1.0
[1e616198] COSMO v0.8.1
[336ed68f] CSV v0.8.5
...
对于 Jupyter 笔记本,这些定义在与笔记本Project.toml
位于同一文件夹中的 中。这很可能是您的问题的根源,也是您观察到“奇怪”的软件包安装状态的原因。
该Procet.toml
文件通常在您激活文件夹时创建:
julia> using Pkg
julia> Pkg.activate(".")
Activating new environment at `C:\SomeMyFolder\Project.toml`
但是,当您运行 Jupyter(例如notebook(dir=".")
)时,会在当前文件夹中找到文件的位置Pkg.activate(".")
自动发生。Project.toml
推荐阅读
- python - 如何修复 django 中的 CharField 属性错误?
- python - 如何使用 face_recognition 动态调用已知面孔名称
- python - 如何在 django 管理界面中更改默认字体?
- python - 如何获取 Slack API 的用户令牌
- javascript - 如何在javascript中延迟以前绑定的事件?
- mysql - 访问函数外的类
- macos - macOS - 将目录中找到的所有特定文件名复制到另一个目录
- php - 带递归的 PDO 查询
- django - 清理表单和访问 self.instance.user 时的 Django RelatedObjectDoesNotExist
- html - html小标签在h1标签内不起作用