Rub*_*nda 4 python virtualenv pyenv jupyter
我多次尝试使用pyenv安装多个虚拟环境,但系统显示missingno library错误。这是 :
msno.matrix(df)
`ValueError Traceback (most recent call last)
Cell In[17], line 1
----> 1 msno.matrix(df)
File c:\Users\sarud\.pyenv\venvs\ETLs\lib\site-packages\missingno\missingno.py:72, in matrix(df, filter, n, p, sort, figsize, width_ratios, color, fontsize, labels, sparkline, inline, freq, ax)
70 # Remove extraneous default visual elements.
71 ax0.set_aspect('auto')
---> 72 ax0.grid(b=False)
73 ax0.xaxis.tick_top()
74 ax0.xaxis.set_ticks_position('none')
File c:\Users\sarud\.pyenv\venvs\ETLs\lib\site-packages\matplotlib\axes\_base.py:3196, in _AxesBase.grid(self, visible, which, axis, **kwargs)
3194 _api.check_in_list(['x', 'y', 'both'], axis=axis)
3195 if axis in ['x', 'both']:
-> 3196 self.xaxis.grid(visible, which=which, **kwargs)
3197 if axis in ['y', 'both']:
3198 self.yaxis.grid(visible, which=which, **kwargs)
File c:\Users\sarud\.pyenv\venvs\ETLs\lib\site-packages\matplotlib\axis.py:1655, in Axis.grid(self, visible, which, **kwargs)
1652 if which in ['major', 'both']:
1653 gridkw['gridOn'] = (not self._major_tick_kw['gridOn']
1654 if visible is None else visible)
-> 1655 self.set_tick_params(which='major', **gridkw)
1656 self.stale = True
...
1073 % (key, allowed_keys))
1074 kwtrans.update(kw_)
1075 return kwtrans
ValueError: keyword grid_b is not recognized; valid keywords are ['size', 'width', 'color', 'tickdir', 'pad', 'labelsize', 'labelcolor', 'zorder', 'gridOn', 'tick1On', 'tick2On', 'label1On', 'label2On', 'length', 'direction', 'left', 'bottom', 'right', 'top', 'labelleft', 'labelbottom', 'labelright', 'labeltop', 'labelrotation', 'grid_agg_filter', 'grid_alpha', 'grid_animated', 'grid_antialiased', 'grid_clip_box', 'grid_clip_on', 'grid_clip_path', 'grid_color', 'grid_dash_capstyle', 'grid_dash_joinstyle', 'grid_dashes', 'grid_data', 'grid_drawstyle', 'grid_figure', 'grid_fillstyle', 'grid_gapcolor', 'grid_gid', 'grid_in_layout', 'grid_label', 'grid_linestyle', 'grid_linewidth', 'grid_marker', 'grid_markeredgecolor', 'grid_markeredgewidth', 'grid_markerfacecolor', 'grid_markerfacecoloralt', 'grid_markersize', 'grid_markevery', 'grid_mouseover', 'grid_path_effects', 'grid_picker', 'grid_pickradius', 'grid_rasterized', 'grid_sketch_params', 'grid_snap', 'grid_solid_capstyle', 'grid_solid_joinstyle', 'grid_transform', 'grid_url', 'grid_visible', 'grid_xdata', 'grid_ydata', 'grid_zorder', 'grid_aa', 'grid_c', 'grid_ds', 'grid_ls', 'grid_lw', 'grid_mec', 'grid_mew', 'grid_mfc', 'grid_mfcalt', 'grid_ms']`
Run Code Online (Sandbox Code Playgroud)
我不知道错误,但我使用 conda 安装了类似的 virtualenv 并没有显示该错误。
我使用 pyenv (3.11.2、3.7.6、3.9.13、3.9.5)安装了不同的 python 版本,但是当我安装missingno 时,每个版本都显示相同的错误。我在错误时显示图像,我使用 VS code 作为 IDE。一开始我以为是VS code版本的问题,但是使用conda安装库并没有出现错误。
小智 6
我有同样的问题。同意 Ziyuan 的观点,似乎 matplotlib 最近的更新将参数更改b为visible.
最新版本的missingno(0.5.2)通过pip更新了传递给matplotlib的参数名称,但anaconda只提供版本(0.4.2),因此存在问题。即使出现此错误,您仍然可以绘制图表,但列标签消失了。
解决办法:进入missingno.py,搜索grid(b=False)并更新为grid(visible=False). 应该出现3次。
完成此操作后,返回到您自己的代码,重新导入缺少的包,它应该可以工作。