当我尝试在emacs中打开python文件时出现以下错误:
无法猜测python缩进偏移量,使用默认值:4
延迟错误:(搜索程序时出错:权限被拒绝, 蟒)
我的假设是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)
答案 0 :(得分:2)
使用sys.executable
打开Python并获取Python的完整路径:
>>> 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
答案 1 :(得分:1)
寻找" deferred.el"。存在两个函数,其中引发该错误。在edebug
下运行它们可以揭示原因。
答案 2 :(得分:0)
重新启动*我的电脑修复了此错误:
延迟错误:(搜索程序时出错:权限被拒绝, 蟒)
* 这是我自安装Python以来首次重启。
现在一切似乎工作正常,我仍然得到can’t guess python indent offset, using defaults: 4
错误,但是jedi tab-completion工作正常。
感谢大家的建议,这肯定有帮助!