[英]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.