簡體   English   中英

即使pip已安裝pyflake,Emacs Elpy Flymake也找不到pyflakes

[英]Emacs elpy Flymake can't find pyflakes even though pyflake has been installed by pip

使用macports pip-2.7安裝pyflakes之后,我可以使用以下命令行從pip安裝目錄中手動運行它:

python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py

但是,我試圖用elpy設置我的mac emacs環境,並且flymake似乎無法找到pyflakes,當我在elpy模式下打開python文件時出現對話框:

Flymake: Failed to launch syntax check process 'pyflakes' (with args myfile.py): Searching for program: no such file or directory, pyflakes. Flymake will be switched off.

我可以進入/ opt / local / bin並嘗試編寫運行上述python命令的自己的可執行文件。 但這似乎很麻煩,並且必須有一種正確的方式來安裝/設置pyflakes,以便flymake無需手動創建包裝器腳本就可以找到命令,不是嗎?

我可以使用以下命令行從pip安裝目錄中手動運行它:

 python /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pyflakes myfile.py 

除非此目錄位於$PATH ,否則Emacs無法知道在哪里可以找到pyflakes

一種選擇是創建一個符號鏈接,例如

ln -s /opt/local/.../python2.7/site-packages/pyflakes /opt/local/bin/pyflakes

當然,您將必須使用完整路徑。 我將其縮短以提高可讀性。 盡管我不知道它在OSX上使用的廣泛性,但是這在Linux機器上相對普遍。

我更喜歡的另一種選擇是使用pip install--user選項重新安裝pyflakes

 --user 

安裝到您平台的Python用戶安裝目錄。 通常是Windows上的〜/ .local /或%APPDATA%Python。 (有關完整詳情,請參見Python文檔site.USER_BASE。)

--user非常適合安裝您可能希望獨立於任何特定項目運行的內容,例如pyflakes 它將內容安裝到您的主目錄而不是系統目錄,因此您不需要任何特權即可使用它。

您可能需要將用戶位置添加到$PATH變量中,但是只需執行一次。 使用pip install --user安裝的任何將來的工具將立即可用。

在Linux機器上,我必須添加到$PATH~/.local/bin/

暫無
暫無

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

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