Python layer无法正确识别python2还是python3吗?

我聘用pyvenv创建了一个环境,指定了python为python3

pyvenv -p /usr/bin/python3 ticket

然后激活这个环境

source ticket/bin/active

然后用Emacs打开ticket/ticket.py这个文件

写入代码后按 =SPC m c c= 运行这个脚本,居然发现用的python来执行的

有什么方法能让它识别应该是用python3来执行的吗?

同问, 楼主问题解了吗?

试试:

    (setenv "PATH" "/usr/bin/python3")
    (setq exec-path (split-string (getenv "PATH") path-separator))

或者

   (setq exec-path (append  '("/usr/bin/python3") exec-path))

第一种方法 以分号相隔能加入更多路径如(setenv "PATH" "/usr:/usr/bin"); 第二种方法将python3可执行路径加到原有路径的最前面。

1 个赞

(defun dotspacemacs/useeer-config ()

;; anaconda 环境配置

;; WORKON_HOME的值设为你的虚拟环境path

(setenv “WORKON_HOME” “/home/anaconda3/envs”)

)

然后在python-mode , V w 选择你要激活的虚拟环境