2016-11-13 139 views
0

我試圖安裝Lisplab asdf和quicklisp,但它們都失敗了。如何用quicklisp安裝軟件包

我使用sbcl和粘液。

任何人都可以幫助我安裝。我只是想在lisp中操縱矩陣:)

謝謝,lisper!

+3

似乎lisplab不包括在quicklisp。從這裏下載tarbal:https://common-lisp.net/project/lisplab/download/並在'quicklisp/local-projects /'目錄內部解壓縮。然後在emacs中輸入'(ql:quickload:lisplab)'祝你好運。 – tsikov

+2

Lisplab僅在sbcl上進行測試。它不會在quicklisp上發生變化。 – Pascal

+1

我上次查看時,lisplab在Fortran中遇到了一些與使用它的cl接口有關的問題,無法編譯。你可能會更喜歡看mgl-mat https://github.com/melisgl/mgl-mat。乾杯 –

回答

0

做關於使用quicklisp安裝口齒不清庫的第一件事,就是看它是否是可用通過quicklisp:

(請注意這個答案我使用antergos配置羅斯威爾泥SBCL)

CL-USER> (ql:system-apropos "lisplab") 
; No value 

在這種情況下,它不包括在內的項目,你可以更新你的quicklisp,但在這種情況下,它是沒有必要的。這個項目不在quicklisp,可能不會在未來。那麼你可以選擇繼續安裝,或尋找此一atertnative thake一個看起來quickdocs這是一個關於數學搜索

讓我們嘗試安裝此quicklisp這樣說:

我可以加載本地項目不是Quicklisp的一部分?是的。 最簡單的方法是將項目的目錄放在Quicklisp的 local-projects目錄中。例如:

$ cd ~/quicklisp/local-projects/ 
$ git clone git://github.com/xach/format-time.git 

那麼該項目將加載通過(QL:quickload「格式的時間」)

此外,任何系統文件,這可以通過航空自衛隊的源註冊表 系統中找到可裝載QL:quickload。

舉例來說,如果你有一個系統文件我-project.asd在 /項目/我的項目/,你可以做這樣的事情:

(push #p"/projects/my-project/" asdf:*central-registry*) 
(ql:quickload "my-project") 

如果我的項目依賴於系統,其通過Quicklisp可用, 尚未安裝,它們將自動安裝。

因此對於這個項目,我將下載壓縮包並將其提取或下載到local-projects文件夾中,就像它在評論中建議的一樣。在我的情況是./roswell/local-projects但你的情況應該是cd〜/ quicklisp/local-projects/

之後,你可以加載quicklisp,但我相信由於這個庫不被維護,它會有錯誤

如果你想用lisp來操縱矩陣,我推薦你使用lisp-matrix請確保已經在你的計算機上安裝了lapack並仔細閱讀了文檔,並仔細閱讀了自述文件末尾的代碼,試驗。

CL-USER> (ql:quickload :lisp-matrix) 
To load "lisp-matrix": 
    Load 1 ASDF system: 
    lisp-matrix 
; Loading "lisp-matrix" 

(:LISP-MATRIX) 
CL-USER> (in-package :lisp-matrix-user) 
#<PACKAGE "LISP-MATRIX-USER"> 
LISP-MATRIX-USER> (M* (ones 2 2 :implementation :lisp-array) 
    (ones 2 2 :implementation :lisp-array)) 
#<LA-SIMPLE-MATRIX-DOUBLE 2 x 2 
2.0d0 2.0d0 
2.0d0 2.0d0> 

(要知道,國外陣列不適用於整數工作)