【问题标题】:Emacs Jedi python tool unable to load "error searching for program: permission denied, python"?Emacs Jedi python工具无法加载“错误搜索程序:权限被拒绝,python”?
【发布时间】:2013-06-29 00:34:12
【问题描述】:

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

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

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

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

init.el

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

【问题讨论】:

标签: python emacs elisp path-variables python-jedi


【解决方案1】:

打开 Python 并使用 sys.executable 获取 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

【讨论】:

  • 我在问题中更新了我的 init.el,我这样做对吗?另外,我可以导入 epc 和 jedi,但还是不行。
  • jedi:server-command 看起来不错。错误信息有变化吗?其他要检查的事情:你能从 Emacs 调用普通的 python 吗?当您执行M-! python --version 或M-! C:/Python33/python.exe --version 时会发生什么?
【解决方案2】:

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

【讨论】:

  • 我是 edebug 的新手。我尝试使用 C-x C-e 遍历每个函数,但我对 edebug 太不熟悉了,无法弄清楚。这就是你运行 edebug 的意思吗?
  • @KoreyHinton 是的。顺便说一句,运行不同的自动完成,它在这里正常关闭,因为它会产生太多的干扰。 OTOH Emacs 提供了 TAB-completion、dabbrev-expand、abbrev-mode,在我看来,这些功能更有效。小小的安慰:)
【解决方案3】:

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

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

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

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

感谢大家的建议,确实有帮助!

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    相关资源
    最近更新 更多