如何防止PyDev的autopep8导入格式化程序移动site.addsitedir()调用?

时间:2015-02-07 00:00:41

标签: python eclipse pydev pep8 autopep8

Eclipse PyDev插件包含出色的集成autopep8支持。它在保存时自动将代码格式化为PEP8样式,有多个旋钮和选项可根据您的需要进行定制。

autopep8导入格式化程序会中断site.addsitedir()用法。

import site

site.addsitedir('/opt/path/lib/python')

# 'ourlib' is a package in '/opt/path/lib/python', which 
# without the above addsitedir() would otherwise not import.
from ourlib import do_stuff

在PyDev的autopep8导入格式化程序之后,它将其更改为:

import site

from ourlib import do_stuff

site.addsitedir('/opt/path/lib/python')

from ourlib import do_stuffImportError: No module named ourlib分开。

问题:

是否有PyDev设置或autopep8命令行选项,以防止移动site.addsitedir()来电?

2 个答案:

答案 0 :(得分:1)

我能找到的最佳选择是在PyDev中关闭导入排序。这不是一个完整的解决方案,但它比完全关闭autopep8代码格式更好。

只需取消选中Eclipse / PyDev首选项中的Sort imports on save?选项即可。

对于Eclipse Kepler,Service Release 2,使用PyDev 3.9.2,你可以在这里找到它:

Windows -> Preferences 
--> PyDev -> Editor -> Save Actions
----> "Sort imports on save?" (uncheck)

答案 1 :(得分:0)

老歌,但仍然有意义,因为我发现了这个问题。

我正在使用VSCode和autopep8。 您可以通过在相关行中添加# nopep8来禁用格式设置。

ps。检查了文档中的链接,但找不到它:(