clojure - 咒术依赖

标签 clojure read-eval-print-loop incanter

我正在尝试实现以下链接 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/

相关文章:

Scala 交互式解释器 (REPL) - 如何将输出重定向到文本文件?

clojure - 在 leiningen/clojure 中使用 incanter

clojure - 如何在Jpanel中显示一个咒图

logging - 如何使用代理和 core.async 在 Clojure 中正确异步登录?

clojure - core.async 中的有状态转换器

java - Clojure JUNG setVertexFillPaintTransformer

jdbc - 从命令行运行 clojure jar 的不一致

python - 如何检查您使用的 REPL 类型?

concurrency - Clojure: Agent calling Agent: 疑似死锁?

clojure - 在 Incanter 中生成随机数