簡體   English   中英

emacs python Elpy自動完成不適用於所有人

[英]emacs python Elpy auto-complete not working for all

使用Mac OSC 10.13.4,emacs 25.3(9.0),Python3

我可能有一些Elpy自動補全功能可用於python3,但由於某些原因,並非總是如此。
例如,

numpy.

觸發自動補全,但是

pandas.

才不是。

我的直覺是,雖然numpy是python3的標准配置,但pandas沒有。 因此,我需要emacs指向附加模塊所在的目錄。 簡而言之,emacs不使用與python3相同的路徑...我試圖將路徑添加到當前emacs路徑,但是它始終無法追加這些路徑。 我怎樣才能做到這一點?

Numpy自動補全 但是熊貓沒有

問題幾乎可以肯定是elpy沒有使用您認為的相同的Python。

由於您使用的是macOS,因此您至少還有一個其他Python – Apple在/usr/bin/python預安裝的Python 2.7版本。 並且在大多數macOS版本中,它包括一個特殊的“ Extras”目錄,該目錄充滿了通常不是Python內置的東西-包括numpy ,但不包括pandas ,在某些版本中甚至不包括pip

因此,您的pip show numpypip show pandas正在使用Python 3.5 pip ,因為這是您唯一的pip

但是,如果elpy找到的是Apple的Python 2.7,而不是您安裝的Python 3.5,它將找到Extras numpy並且不會找到任何pandas

您還應該看到其他怪異的異常行為,例如elpy嘗試以Python 2.x語句而不是Python 3.x函數的形式完成print -但是診斷問題的最簡單方法是不深入所有這些細節,而是只是Mx elpy-config 它應該顯示如下內容:

Virtualenv........: None
RPC Python........: 2.7.10 (/usr/bin/python)
Interactive Python: python (/usr/bin/python)
Emacs.............: 25.3.0

…等等

如果是這樣,答案是您需要修復elpy配置以使用/usr/local/bin/python3 (或任何適合您的Python 3.5的路徑)。

我相信只配置elpy-rpc-python-command會導致它正確地拾取其他所有內容。 或者,您可以只在elpy-config本身中進行操作。 但這對於emacs.SE可能是一個比SO上的Python標簽更好的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM