2

当我尝试在 emacs 中打开 python 文件时出现以下错误:

无法猜测 python 缩进偏移,使用默认值:4

延迟错误:(搜索程序时出错:权限被拒绝,python)

我的假设是需要将 python 环境变量复制到Emacs PATH 变量中,因为我必须使用 bradleywright 的path.el脚本为 Mac OS X 做同样的事情,但现在我需要为Windows 7做同样的事情。我怎样才能做到这一点?

初始化文件

(load "~/.emacs.d/path.el")

(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/") t)
(package-initialize)


(require 'jedi)
(setq jedi:server-command
  (list "C:/Python33/python.exe" jedi:server-script))

(add-hook 'python-mode-hook 'jedi:setup)
(setq jedi:complete-on-dot t)   

(global-auto-complete-mode t)

(require 'ido)
(ido-mode t)

(add-to-list 'load-path "~/.emacs.d/elpa/magit-1.2.0/magit.el")
(require 'magit)

(require 'linum)
(global-linum-mode 1)
4

3 回答 3

2

打开 Python 并使用以下命令获取 Python 的完整路径sys.executable

>>> import sys
>>> sys.executable

然后jedi:server-command像这样设置:

(setq jedi:server-command
      (list "THE-PATH-YOU-GOT" jedi:server-script))

另见:http ://tkf.github.io/emacs-jedi/latest/#jedi:server-command

请注意,您需要安装 Python 模块(即,epc 和 jedi),并且它们应该可以用于此 Python。因此,请确保这在您的 Python 中有效:

>>> import epc, jedi
于 2013-07-03T07:01:23.760 回答
1

寻找“deferred.el”。存在两个引发该错误的函数。运行它们edebug应该可以揭示原因。

于 2013-07-02T19:19:14.593 回答
0

重新启动*我的电脑修复了这个错误:

延迟错误:(搜索程序时出错:权限被拒绝,python)

*这是我安装 Python 后的第一次重启。

现在一切似乎都工作正常,我仍然收到can’t guess python indent offset, using defaults: 4错误,但绝地标签完成工作正常。

谢谢大家的建议,肯定有帮助!

于 2013-07-08T15:04:58.540 回答