设置 Emacs 以使用 elpy 运行 python



我最近下载了带有Windows 10依赖项的Emacs 25.2。 我正在尝试使用 elpy 运行 python 脚本。我创建了一个初始化文件,包括 -

(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(elpy-enable)

失败后,我还手动安装了elpy - 运行初始化的前半部分(上图)后 ->

M-x package-refresh-contents RET
M-x package-install RET elpy RET
  1. 它似乎已经下载,但我无法访问 M-x elpy-config - 错误信息:

没有这样的文件或目录,python。

  1. 我也无法编译基本代码 -
print("Hello world")

错误信息:

蟒蛇 HelloWorld.py "python"不被识别为内部或外部命令, 可操作的程序或批处理文件。

编译异常退出,代码为 1

  1. 在代码中,似乎 elpy 应该拥有的功能都没有工作。

  2. 我也无法在脚本中使用制表符缩进...我不确定这是否是同一个问题。

我相信python是用emacs预先下载的。这是对的吗?为了做到这一点,我错过了什么吗?

谢谢!

编辑:我意识到可能需要拥有我所有的init.el文件:

;; style
(menu-bar-mode 1)
(toggle-scroll-bar -1)
(tool-bar-mode 1)
(setq ring-bell-function 'ignore)
(customize-set-variable 'blink-cursor-mode nil)
(setq frame-title-format "")
(setq-default cursor-type 'vbar)
;; melpa
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(when (not package-archive-contents)
(package-refresh-contents))
(defvar myPackages
'(monokai-theme
elpy
flycheck
better-defaults
powerline))
(mapc #'(lambda (package)
(unless (package-installed-p package)
(package-install package)))
myPackages)
(require 'powerline)
(cd "C:/My Documents")
(setq
backup-by-copying t      ; don't clobber symlinks
backup-directory-alist
'(("." . "~/.saves/"))    ; don't litter my fs tree
delete-old-versions t
kept-new-versions 6
kept-old-versions 2
version-control t)       ; use versioned backups
(setq inhibit-startup-message t)
(elpy-enable)
(when (require 'flycheck nil t)
(setq elpy-modules (delq 'elpy-module-flymake elpy-modules))
(add-hook 'elpy-mode-hook 'flycheck-mode))
(powerline-default-theme)
(load-theme 'monokai t)
(set-background-color "#2f343f")
(set-cursor-color "#A6E22E")
(set-face-attribute 'fringe nil    
:background "#2f343f")

我的环境变量路径中没有python。

为了解决这个问题:

  • 打开窗口搜索栏
  • 搜索环境变量
  • 路径>编辑...> 新增
  • 功能
  • 添加 python 文件的位置

执行此操作的另一种方法是重新打开安装程序,并确保在重新安装时选中添加到路径框。 您可能需要卸载 python 才能执行第二种方法。

祝你好运!

最新更新