设置:
- Windows 10 上的 Emacs 25.2.1
- Pymacs 0.25
- 蟒蛇 Python 3.5.1
Pymacs 运行良好。我可以从 Emacs 成功运行 pymacs-eval 和 pymacs-exec 命令。例如,评估以下作品:
(require 'pymacs)
(pymacs-exec "from scipy.stats import norm;")
(pymacs-exec "import numpy as np;")
(pymacs-exec "np.set_printoptions(threshold=np.nan);")
(pymacs-eval "norm.ppf(0.95)")
最后一行返回
1.6448536269514722
我遇到的问题是一些标准的 Python 3.x 语句正在向 Emacs 返回一些奇怪的东西。特别是,如果我运行
(pymacs-eval "import numpy as np;")
(pymacs-eval "np.max(np.array([[1,1],[2,4]]))")
我回来
(pymacs-python . 1479)
如果你跑
(pymacs-load "numpy" "np-")
(np-max (np-array '((1 1) (2 4))))
最后一行返回
(pymacs-python . 1479)
每当我尝试通过 Pymacs 将任何类型的列表从 Emacs Lisp 传递到 Python 时,这似乎都会发生。有人知道这些“(pymacs-python .n)” cons 单元格是什么意思吗?