问题标签 [deprecation-warning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 不推荐使用 setBackgroundDrawable()
所以我的 sdk 从 15 变为 21,当我打电话时setBackgroundDrawable()
,Android Studio 告诉我它已被弃用。
我想绕过它使用:
但是,我在“setBackground()”处收到错误。
那么,你会如何处理呢?
python - PyBrain 弃用警告
每当我splitWithProportion()
在 PyBrain 中调用该函数时,我都会收到弃用警告。以下是警告:
有谁知道如何解决这个问题?根据我的阅读,这可能是 numpy 库的问题。我正在运行 numpy 1.9。仅当我使用 pybrain 顺序数据集时才会出现警告。谢谢
python - 检查弃用警告的代码
考虑以下示例代码:
代码没有任何语法错误(使用 Python2.7),除了如果你在打开警告的情况下运行 python ,你会看到DeprecationWarning
:
仅供参考,这是因为.message
自 python2.6 以来已弃用并在 python3 中删除。
现在,我想通过使用静态代码分析工具找到项目中.message
在任何异常实例上调用的所有位置。作为最终目标,我计划将此检查作为日常构建&测试&代码质量检查任务的一部分运行,如果仍然使用语法,则会引发错误。
可能吗?它pylint
或pyflakes
其他代码分析工具有能力吗?
我发现该pep8
工具实现了几个类似的检查,例如has_key()
使用检查:
作为替代解决方案,我可以将所有警告视为错误(如建议的此处)并使我的测试失败,但这有其缺点:
- 还有其他来自我无法修复的第三方软件包的弃用警告
- 严格来说,这需要100%的覆盖率,很难维护
ruby-on-rails - Rails 4.2 弃用警告:`serialized_attributes` 已被弃用,无需替换,
在大多数控制器测试中,我(每个人)都会看到这个警告。我知道这只是一个警告……现在……直到 5 发布。我不确定我需要更改哪些内容才能遵守此弃用。serialized_attributes 发生了什么变化?我想让这个警告消失并改进我的代码,为 5.0 做准备……但不确定如何继续。谢谢。
更新
从控制器测试中执行标准更新操作时...我收到错误消息:
在测试中(为本示例浓缩):
该测试通过了,但现在在 rails 4.2 中出现错误:DEPRECATION WARNING: serialized_attributes
is deprecated without replacement,并将在 Rails 5.0 中删除。”
那么,在这个例子中……是 serialized_attributes “{ name: 'Passport' }”吗?
python - 如何更改与 logging.captureWarnings() 关联的记录器?
在我的应用程序中,我logging.captureWarnings(True)
用来确保任何DeprecationWarning
内容都记录在正常的应用程序日志中。
这很好用,但会产生如下日志:
从文档中可以看出:
如果捕获为真,警告模块发出的警告将被重定向到日志系统。具体来说,将使用 warnings.formatwarning() 格式化警告,并将生成的字符串记录到名为 'py.warnings' 的记录器,其严重性为 WARNING。
所以这一切都在意料之中。但是我想更改与此类警告关联的记录器(使用我的应用程序提供的记录器,以便在查看日志时可以知道DeprecationWarning
来自何处)。
有没有办法更改关联的记录器?
ios - Xcode 不再向我显示已弃用的警告
我继承了一个针对 iOS6+ 的 iOS 项目。几周前,我将它移至 Xcode 6 并清除了所有警告。一个这样的警告是:
我对此的修复使用了 NSShadowAttributeName,但我做得不正确,导致应用程序在执行期间的某个时间点崩溃。几周后我发现时,我暂时恢复到旧代码。但是,当我恢复到旧代码时,弃用警告并没有回来。我一直无法弄清楚为什么并想解决这个问题 -它警告我没有显示警告。
值得一提的是,在某些代码部分中,由于需要保持对 iOS 6 的支持,我需要消除弃用警告。在这些情况下,iOS 6 和 iOS 7+ 设备以及 iOS 6 代码有单独的代码被包围:
(见https://stackoverflow.com/a/26564750/3352624)这使用:
我选择不调整 Xcode 设置并关闭大量代码的警告。
所以我很困惑为什么当我将代码恢复到以前的状态时不再显示弃用警告。
这是我尝试过的:
- 从我的代码中删除了对 SILENCE_DEPRECATION 宏的所有引用
- 已验证
Deprecated Functions
为Build Settings
目标 - 已验证我
Base SDK
的设置为Latest iOS (8.1)
并且我iOS Deployment Target
的设置为iOS 6.0
-Weverything
为目标添加Other Warnings Flags
了Build Settings
- 从 git 检查了我的工作区的旧版本,这是在我进行任何更改之前
- 退出并重新启动 Xcode 6
- 试过 Xcode 5
- 重新启动我的计算机,然后启动 Xcode
这些事情都没有导致弃用警告再次出现。有什么想法我接下来应该尝试什么?
python - 我没有看到我的隐式转换
我有以下方法:
我用以下测试代码调用:
单元测试成功,但我收到以下警告:
但是,我看不到我正在投射哪些不兼容的类型。我将一个 numpy 数组的一个小节与其自身分开。谁能指出我隐含的演员阵容?
macos - 'gluErrorString' 在 OS X 10.9 中已弃用。为什么?
在 OSX 上编译时,我指的是以下形式的错误:
粗略的 google+DDG 表明一堆 GLU 和 GLUT 函数也已被弃用,但Apple 的参考资料没有关于更改背后的原因或建议的继任者的信息。我没有使用 GLUT,只是想从 GL 获取人类可读的错误描述。
这个问题的现有答案和其他人建议使用不同的框架,针对早期的 OSX 版本,或抑制警告,但我找不到正确解决方案的证据。
所以发生了什么事?获取错误字符串的推荐方法是什么?
python - Django 1.9 弃用警告 app_label
我刚刚更新到 Django v1.8,并在更新我的项目之前测试了我的本地设置,并且我收到了一个我以前从未见过的弃用警告,对我来说也没有任何意义。我可能只是忽略了某些东西或误解了文档。
现在这对我提出了 3 个问题。
- 根据文档,
Options.app_label
除非模型在应用程序模块之外,否则不是必需的,在我的情况下,它不是。其次,无论如何,这种行为在 1.7 中已被弃用,那么为什么它甚至是一个问题呢? - 应用程序都在 INSTALLED_APPS 元组中,所以肯定不是这样吗?
- 如果所有内容都在 INSTALLED_APPS 元组中,为什么在调用应用程序之前不加载应用程序?
如果我确实做错了什么,那么正确的做法是什么,因为文档并没有真正弄清楚导致这个问题的原因或如何纠正它。