2012-03-22 28 views

回答

0

你是說你已經啓用PEP8檢查和你設置該文件在窗口>首選項>代碼分析> pep8.py> pep8.py的位置?

如果是這樣的話,可能是因爲在PyDev的內部版本中完成了一些錯誤修正(在PyDev內部Jython 2.1版本下工作)......這些已經返回到pep8.py,但也許沒有整合到那個分支中? (例如:拉請求:https://github.com/jcrocholl/pep8/pull/49

如果該自定義模塊做了其他不適用於Jython 2.1的其他內容,那也可以解釋它。

如果是這樣的話,正確的解決辦法是修復該PEP8模塊的Jython 2.1下工作......

現在,如果它完全是另一回事...你有你的錯誤日誌中的一些錯誤?

+1

我有一個類似的問題。我嘗試了許多版本的pep8(包括當前的git master),但都沒有工作。我在錯誤日誌中出現了各種錯誤(例如「TypeError:__init __()太多的參數;預計3得到4」或「SyntaxError :(無效的語法),('D:\\ ... \\ pep8.py' ,309,19,'yield 0,「在函數裝飾器」\ n'))「之後找到E304空行。我仍然試圖調試這個,但我正在想法如何去理解它。 – wrygiel 2012-09-24 20:25:13

+1

其實,我只是看到PEP8的當前版本不再兼容內部的Jython版本的PyDev使用,因此,您必須使用真實附帶的PyDev的pep8.py版本(最新版本至少)。它位於:插件\ org.python.pydev \ pysrc \ THIRD_PARTY \ PEP8 \ pep8.py – 2012-10-18 16:38:12

+0

順便說一句,我需要最新版本PEP8太多,所以我做了一個簡單的插件,在這裏看到:http://stackoverflow.com/questions/12578941/integration-external-highlighter-tool-in-eclipse-editor(我也添加了鏈接到我的回覆) – wrygiel 2012-10-18 19:10:19

2

我花了一些時間去調試這一點。我不知道很多關於PyDev的還是Java,但它似乎是:

  • PyDev正試圖解析pep8.py使用它自己的Jython實現,而不是本地Python的一個(可能他們想使它更快這條路)。 Jython(至少是我所擁有的)不能解析「yield」關鍵字,這就是爲什麼新版本的pep8.py不能工作。

  • 老版本沒有任何工作,因爲需要的PyDev哪個沒有marged進入主流pep8.py的方法的一些定製的簽名。

我最終制作了this simple Eclipse plugin。我能夠將最新版本的pep8.py與我的編輯器連接起來。希望它可以幫助別人;)