python Elpy mode写代码卡顿

在python-mode里启动的Elpy用以编辑python代码,正常功能都能运行,但针对某些库的自动补全非常卡顿,例如下面demo: from bs4 import BeautifuSoup

soup = BeautifulSoup(htmlText, ‘html.parser’)

stri = soup.find(‘a’, class_=‘title’).string

在emacs编辑器中,输入到最后一行soup.find,这个find要卡一会才能emacs才能反应过来,程序越大似乎卡的越厉害,当然,后面的.string也是类似

看来,乃应该试试 lsp-mode + lsp-python-ms

1赞

好的,这个和elpy比起来,还有什么其他优势 多谢

elpy-config,在elpy中改下rpc的目录是python库的目录,会快得多

1赞

因为不清楚乃的工作流,如果只是补全和 lint 的话,这个比 elpy 快很多就是了,也几乎不需要配置

1赞

您好!请教您说的是图片中的吗?

我不需要虚拟环境,所以全部改成python目录了,下面加号部分可以直接点的,改成自己想要的路径 image 我不怎么用bs4,只能截个图看下了。。

1赞

不知道楼主的工作环境,如果是在Linux下,可以试试直接用python-mode,然后用company+company-jedi,还有就是Nasy提的方案也不错

如果是在Win下,个人感觉现在没有好的方案,有过一个ropemacs还不错,但它依赖的pymacs 2012年停顿了,2017年有人接手,但后来又没进展了,除非还用python3.3和之前的版本…

1赞

多谢指点!!请教一下,我干脆直接安装anaconda mode 会不会好点?

anaconda mode我只短暂用过,我在不同环境下并不总能配置成功,而且速度上似乎也没有感觉到太大优势

这两天我又折腾了一下自己的配置,发现在我的机器上用Emacs-jedi+auto-complete+ac-python+format-all+Emacs自带的python-mode貌似补全是最快的,楼主也可以试试。

1赞

膜拜大神,受教了!!BTW大神的OS是WIN还是Linux?

不客气。在win7 32位,win10 64位和manjaro Linux下都试过了,补全速度都有所提升。

又看了一下,后来应该是又关掉了ac-python,我把现在配置中相关部分贴在下面了,谨供参考:

(defvar myPkg
  '(format-all
    jedi
   ))
(mapc #'(lambda (package)
      (unless (package-installed-p package)
        (package-install package)))
      myPkg)
(setq python-shell-interpreter "ipython"
      python-shell-interpreter-args "--simple-prompt -i")
(global-set-key [f6] 'run-python)
(defun python-mode-modify()
  (hs-minor-mode t)
  )
(add-hook 'python-mode-hook (lambda ()
                  (jedi:ac-setup)
                  (setq jedi:complete-on-dot t)
                  (auto-complete-mode 1)))
(add-hook 'python-mode-hook 'python-mode-modify)
1赞

用auto-complete是因为它和jedi配合的更好吗?能上一个gif看看补全的速度吗?

好啊,动画如下:

1赞

按照大神您的方案,进行了修改,真是舒服了,顺便开心地删了PyCharm 感谢大神!!

不客气~

我也不是大神,也只是跑这儿来打小抄的人。

反复折腾中,偶尔能找到点新奇的东西,

大家多交流就好~

1赞