执行pip list命令时,出现错误:
An error occurred during configuration: option format: invalid choice: ‘columnsno-cache-dir = true’ (choose from ‘columns’, ‘freeze’, ‘json’)
错误分析
错误提示表明在尝试执行 pip list 时,pip 配置文件中存在一个格式问题。错误指出 columnsno-cache-dir = true 不是一个有效的选项。这通常意味着配置文件中的某些行被错误地合并或格式化了。
解决方案
要解决这个问题,需要编辑 pip 的配置文件。步骤如下:
-
打开配置文件:使用文本编辑器打开上述路径中的 pip 配置文件。
-
检查并修正格式错误:找到 columnsno-cache-dir = true 这一行,并将其分割成两行,如下所示:
format = columns
no-cache-dir = true
这样可以确保每个配置选项都单独占一行,并且格式正确。
找到pip.ini文件。
为了检查当前 pip 配置及其来源,在命令行中运行 pip config list -v。这个命令不仅会列出当前的配置设置,还会显示每个设置的来源,包括配置文件的路径,排除的虚拟环境下pip配置文件的问题,逐一排查其他的四个文件,是否出现columnsno-cache-dir = true这样的错误格式。
经过排查,确实在C:\Users\shuku\AppData\Roaming\pip目录下:发现pip.ini确实存在格式错误。
只需要换行保存即可。
再次运行pip list,不会报错了,可以正常显示了。
当我再次换py3.8虚拟环境的时候,又报错了,我按照上面的上方继续排查,这次在D:\Software\Anaconda3\envs\py3.8目录下,再次发现pip.ini中出现格式错误。
感悟:
个人感觉这个pip.ini的配置文件的查找顺序,按照由近及远的顺序查找,先查找虚拟环境下有没有这个文件,如果有,这个虚拟环境的配置是以本地的为准,如果没有就以全局为准,有点局部变量和全局变量那个味,大概就是这个意思,因为我py3.8虚拟环境下,有pip.ini这个文件,所以我修改这个就好使,而py3.6虚拟环境下,我并没有找到pip.ini这个文件,但是我修改**‘C:\Users\shuku\AppData\Roaming\pip\pip.ini’**这个文件,也同样好使了。