我正在尝试实现以下链接 http://data-sorcery.org/category/pca/并发现自己无法加载必要的 Incanter 库,即
(use '(incanter core stats charts datasets))
我对 Incanter 的唯一依赖是 [incanter "1.5.4"]
。这足以加载库吗,我只是错过了什么吗?
我不确定如何加载链接中突出显示的 4 个库。需要注意的是,我之前已经能够在 REPL 中使用 Incanter。
编辑:我的文本编辑器有以下内容
(ns my-namespace.filename
(:use [incanter.core]
[incanter.stats]
[incanter.charts]
[incanter.datasets]))
(def iris (to-matrix (get-dataset :iris)))
(view iris)
返回错误CompilerException javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name, compiling:(pca.clj:11:22)
错误似乎源于内部,即获取数据集...我不确定如何修复。
最佳答案
既然您说您已经能够从 REPL 加载依赖项,我假设您现在正尝试从 lein 加载它。
您需要在 project.clj
中包含依赖项:
(defproject my-project "0.1.0-SNAPSHOT"
:dependencies [[incanter "1.5.4"]])
在您要使用 incanter
函数的文件的顶部,有以下其中一项以及正确的命名空间和文件名。
(ns my-namespace.filename
(:require (incanter [core :refer :all]
[stats :refer :all]
[charts :refer :all]
[datasets :refer :all]))
这与:
(ns my-namespace.filename
(:require [incanter.core :refer :all]
[incanter.stats :refer :all]
[incanter.charts :refer :all]
[incanter.datasets :refer :all]))
同:
(ns my-namespace.filename
(:use [incanter.core]
[incanter.stats]
[incanter.charts]
[incanter.datasets]))
为了保持一致性,我使用第一个变体,因为我通常不希望 :refer :all
包含所有依赖项。
关于clojure - 咒术依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22599712/