最近在学习特征工程相关的东西,发现pandas_profiling这个包特别适合直观地能够展示数据地很多细节的地方,包括缺失值等相关信息。然后,我就开始折腾pip install pandas_profiling发现一下子把原本好好的环境(Anaconda3.5、Python3)给折腾坏了,并且出现了以下几个问题,对此,我做了相关记录,今天并分享出来了——
问题一
ImportError: No module named 'win32api'。
首先对于这个问题,主要问题比较常见在windows系统中,第一反应就是没有安装这个包,为了确定自己猜想,使用pip list开始查看,发现环境中确实存在这个包,但是就是无法import。接着带着满满的疑惑,开始在浏览器中搜索,试着各种解决方案,最后做了个小总结——
第一,可能是所存在的包没有下载完整或者存在兼容性问题,此时可以尝试先卸载了再重新安装;
第二,如果重新安装pip install pywin32的过程中出现了问题could not find a version that statists the requirment win32api...,此时更换下载方式pip install pypiwin32即可。
问题二
Jupyter notebook kernel not connecting。
ValueError: signal only works in main thread
ERROR:tornado.application:Exception in callback
Traceback (most recent call last):
这个问题出现在问题一之后,最可能的原因是在寻找解决问题一的过程中做了一个pip update...的操作,导致Tornado和Jupyter版本或者pyzmq和ipykernel出现不兼容的现象。
对于我的问题主要是由于pyzmq和ipykernel不兼容引起的,解决方案:
pip install "pyzmq==17.0.0" "ipykernel==4.8.2"
问题三
Jupyter notebook “IOPub data rate exceeded.”
IOPub data rate exceeded.
The notebook server will temporarily stop sending output
to the client in order to avoid crashing it.
To change this limit, set the config variable
`--NotebookApp.iopub_data_rate_limit`.
这个问题是输入ppf.ProfileReport(train_data)引起的,主要是由于pandas_profiling包输出的文件内容过大,超过了默认的限制值,为了防止系统崩溃,电脑服务器停止了这个动作的相应。
解决方案:
生成jupyter_notebook_config.py,会在对应的目录下生成相应的文件;
To create a jupyter_notebook_config.py file, with all the defaults commented out,
you can use the following command line:
$ jupyter notebook --generate-config
打开文件并搜索c.NotebookApp.iopub_data_rate_limit;
注释掉该行c.NotebookApp.iopub_data_rate_limit = 1000000并将其更改为更高的默认速率。(我修改为c.NotebookApp.iopub_data_rate_limit = 2147483647)。
提示:这个问题在Jupyter notebook release 5.2.2版本做了解决,可以选择适当地update!!!
PS:解决问题的过程中,感觉自己像是在作,不停地折腾,,问题解决了,心情那是一个倍儿爽哈!!总结一句话:No Zuo No Died!