pycharm中出现TypeError: KMeans.__init__() got an unexpected keyword argument 'n_jobs'
时间: 2023-07-27 16:07:01 浏览: 1719
这个错误是因为您使用的 scikit-learn 版本较低,不支持 `n_jobs` 参数。在早期版本的 scikit-learn 中,`KMeans` 的构造函数并不支持 `n_jobs` 参数,而这个参数是在后来的版本中添加的。
要解决这个问题,您可以尝试升级您的 scikit-learn 版本。可以使用以下命令在 PyCharm 中升级 scikit-learn:
```
pip install --upgrade scikit-learn
```
如果您使用的是 Anaconda,请使用以下命令升级:
```
conda update scikit-learn
```
请注意,升级可能会影响您的代码,因为某些函数和API可能已经发生了变化。因此,建议您在升级之前备份您的代码。
相关问题
为什么腾讯云发送短信成功了,但是pycharm报错:TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
这个错误可能是因为您使用的 Python 版本较老,导致 JSONDecoder 类的初始化函数不支持 encoding 参数。您可以尝试将 Python 版本升级至 3.6 及以上版本,并检查您的代码中是否使用了正确的 JSONDecoder 初始化方式。或者,您可以尝试使用其他的 JSON 解析库,如 simplejson 或 ujson。
pycharm TypeError: _patch_task.<locals>.task_new_init() got an unexpected keyword argument 'eager_start'
### 解析 PyCharm 中遇到的 TypeError 错误
当在 PyCharm 或其他 Python 开发环境中遇到 `TypeError` 报错提示 `_patch_task locals task_new_init unexpected keyword argument eager_start` 时,这通常意味着传递给某个类或函数的初始化方法 (`__init__()`) 的参数列表中包含了未定义的关键字参数。
此类错误可能源于库版本更新带来的 API 变更或者自定义代码中的拼写错误。对于特定于 `eager_start` 参数的情况,在某些情况下可能是由于使用了不再支持该选项的新版第三方库[^1]。
#### 处理策略
为了有效解决问题:
- **确认依赖项版本兼容性**:检查项目使用的各个包及其文档,特别是那些涉及并发编程或异步操作的任务调度工具(如 Celery),确保当前安装的是期望的工作版本。
- **审查源码变更日志**:如果最近升级过相关软件包,则查阅其官方发布的发行说明,了解是否有移除或重命名的重要属性/配置项。
- **调整调用方式去除非法参数**:依据最新API指南修改实例化语句,删除任何已废弃或从未存在过的参数名;例如,如果是Celery的话,“eager_start”很可能已经被替代或是根本不存在的有效设置[^2]。
```python
from celery import Celery
app = Celery('my_project', broker='pyamqp://guest@localhost//')
# 假设原代码尝试设置了 app.conf.update(eager_start=True),现在应改为遵循现行标准做法
```
- **回滚至稳定状态**:假如无法立即适应新的接口设计,考虑暂时降级到之前能够正常工作的旧版本直至找到长期解决方案为止。
通过上述措施可以有效地定位并修复由意外关键字参数引发的类型错误异常状况。
阅读全文
相关推荐

















