Clojure 白炽灯依赖性

Clojure 白炽灯依赖性,clojure,read-eval-print-loop,incanter,Clojure,Read Eval Print Loop,Incanter,我试图实现以下链接,但发现自己在加载必要的白炽灯库时遇到了困难,即 (use '(incanter core stats charts datasets)) 我对白炽灯的唯一依赖是[白炽灯“1.5.4”]。这足够加载库了吗?我是不是遗漏了什么 我不确定如何加载链接中突出显示的4个库。要注意,我已经能够使用白炽灯之前在REPL 编辑:我的文本编辑器具有以下功能 (ns my-namespace.filename (:use [incanter.core] [incanter.stat

我试图实现以下链接,但发现自己在加载必要的白炽灯库时遇到了困难,即

(use '(incanter core stats charts datasets))
我对白炽灯的唯一依赖是
[白炽灯“1.5.4”]
。这足够加载库了吗?我是不是遗漏了什么

我不确定如何加载链接中突出显示的4个库。要注意,我已经能够使用白炽灯之前在REPL

编辑:我的文本编辑器具有以下功能

(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:unrecogned_name,compiling:(pca.clj:11:22)


错误似乎来自内部,即get dataset。。。我不确定如何修复。

既然你说你已经能够从REPL加载依赖项,我想你现在正试图从lein加载它

您需要在
项目中包含依赖项。clj

(defproject my-project "0.1.0-SNAPSHOT"
  :dependencies [[incanter "1.5.4"]])
:jvm-opts ["-Djsse.enableSNIExtension=false"]
在要使用
白炽灯
函数的文件顶部,具有以下名称空间和文件名正确的函数之一

(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]))

我使用第一个变体来实现一致性,因为我通常不想
:将所有的
与所有的依赖项一起引用。

有时白炽灯的库(作为依赖项包含)与白炽灯的名称空间之间存在混淆。一个库可以包含许多名称空间,例如,白炽灯核心包括
白炽灯.core
白炽灯.stats
等,而
白炽灯.dataset
位于白炽灯io库中(与
白炽灯.io
一起),而
白炽灯.charts
位于白炽灯图表库中

如果在
项目.clj
中包含
白炽灯
作为依赖项,则它将包含白炽灯提供的所有库和名称空间

当人们只想使用它的一小部分功能时,例如只想使用
Incanter.stats
+
Incanter.datasets
,白炽灯被分成许多库,以减少案例的依赖性

有关白炽灯库的一些信息,您可以在

已编辑:SSL问题源于以前的错误,即数据集总是从Internet下载。有关详细信息,请参阅

我已经在两天前提交了修复程序,但它仍然只在master中,没有发布。要在发布版本中修复它,请将以下内容添加到
项目中。clj

(defproject my-project "0.1.0-SNAPSHOT"
  :dependencies [[incanter "1.5.4"]])
:jvm-opts ["-Djsse.enableSNIExtension=false"]
这将防止出现错误。如果您不想从Internet下载数据集,可以通过
获取数据集
的选项显式传递路径:

(get-dataset :iris :from-repo false 
              :incanter-home "/Users/ott/projects/incanter")

:白炽灯主目录
路径应指向白炽灯的
数据
文件夹的存储目录。

我已经用SSL问题的解决方案更新了答案…白炽灯是文件
测试应用程序
的一个分支,在白炽灯中是文件数据。。我使用了以下
:incater home”/test app/incater“
,并收到错误:系统无法找到指定的路径@如果您需要使用相对路径,如
/test app/incanter
,或者将此路径扩展为绝对路径。。。