【发布时间】:2013-10-18 14:18:41
【问题描述】:
我最近从 2.5 升级到了 python 2.7.5
我有一个软件。为了让它在 2.7.5 上运行,我必须修复导入问题,但在那之后,它运行良好。
但是当我通过 python -Wd 打开 DeprecationWarnings 时,它给了我一堆语法错误。
当我不指定 -Wd 时,它会毫无问题地运行,因为它会忽略这些错误。
修复那些由-Wd或..引发的错误更好吗?
只要不打开警告,它就可以正常工作吗?
请两种方法的优缺点。
“做出了一项政策决定,以使仅对开发人员感兴趣的警告静音。DeprecationWarning 及其后代现在被忽略,除非另有请求,从而防止用户看到由应用程序触发的警告。此更改也在将成为的分支中进行Python 3.2.(在 stdlib-sig 上讨论并在 issue 7319 中执行。)”http://docs.python.org/dev/whatsnew/2.7.html
如果他们希望开发者解决这些问题,他们就不会决定将这些警告设为默认,对吗?
【问题讨论】:
-
优点:你修复了你的代码。缺点:你必须花时间修复你的代码。
-
@millimoose 但是为什么我不需要修复我的代码呢?这样做有什么好处?
-
如果你修复了你的代码,它不会随着时间的推移慢慢变得过时。如果您是唯一使用您的代码的人,那可能没问题,但如果其他人想要运行它,他们可能会喜欢拥有更新且不会引发警告的代码。
-
“如果他们希望开发人员解决这些问题,他们就不会决定将这些警告设为默认,对吗?”我认为这完全是倒退。 开发人员应该解决这些问题。他们选择压制那些用户无能为力的,因为对他们来说这只是噪音。
-
@ealeon -- 嗯,嗯,我一直有一种个人哲学,将警告视为错误。现在可能不是问题,但是警告是解释器/开发人员告诉我某些事情不太正确的一种方式。所以从这个角度来看,我会修复它,以消除现在或将来出现任何问题的可能性。
标签: python python-2.7