python - RuntimeWarning:已经创建了一个名为“Individual”的类,它将被覆盖
问题描述
我有使用deap
库的代码。这段代码已经在虚拟环境中运行了一段时间,没有任何问题。然后我将整个环境复制到一个新的虚拟环境并运行代码,然后我开始收到运行时错误:
/usr/local/lib/python3.6/dist-packages/deap/creator.py:141:RuntimeWarning:已经创建了一个名为“Individual”的类,它将被覆盖。考虑删除该类的先前创建或重命名它。
运行时警告)
新旧环境中使用的数据完全一样,返回的结果看起来也一样。我找不到任何可以恰当地描述为什么会发生此运行时错误的内容 - 为什么会发生?
解决方案
您的问题是关于两个版本之间可能有什么不同。如果您想要一个有用的答案,我会礼貌地建议您需要向用户社区提供更多信息。在我的脑海中,这里有一些可能性:
- 不同版本的python
- 不同版本的deap库
- 全局命名空间中的不同变量
我最好的猜测是选项 3。如果您查看https://github.com/DEAP/deap/blob/master/deap/creator.py第 141 行,您将看到以下代码:
if name in globals():
warnings.warn("A class named '{0}' has already been created and it "
"will be overwritten. Consider deleting previous "
"creation of that class or rename it.".format(name),
RuntimeWarning)
因此,当您运行时create
,该函数会调用该globals()
函数并查找已命名为您要为类命名的任何变量。在您的情况下,有一个预先存在的类称为Individual
. 要确定为什么可能需要查看您的代码。
推荐阅读
- c++ - 具有显式参数和大小的可变参数模板... Visual Studio 2013
- neo4j - 我想将 csv 格式的大型数据集加载到 neo4j
- php - 如何修复 laravel from's select 中的“为 foreach() 提供的参数无效”错误
- node.js - 我已将上传的文件从 amazon s3 存储到 couchdb 数据库。但是如何将这些响应发送到 angularjs 以查看文件
- python - 通道上的 TensorFlow 图像评估一
- javascript - 如何实现一个计时器以在 2 秒后处理每张牌?
- node.js - 获取邮件列表和活动状态
- sql - 连接具有不同名称的两列
- python - 如何将 netCDF4 文件转换为 geoTiff
- python - 如何将熊猫时间戳更改为 python 日期时间对象?