Pip无法卸载此软件包

时间:2017-06-07 18:27:28

标签: python pip box2d

我对pip有疑问。我想运行一个需要Box2d的程序。但是当我运行程序时,我得到一个这样的错误:

...(removed)...
  File "/usr/local/lib/python2.7/dist-packages/Box2D/__init__.py", line 20, in <module>
    from .Box2D import *
  File "/usr/local/lib/python2.7/dist-packages/Box2D/Box2D.py", line 434, in <module>
    RAND_LIMIT = _Box2D.RAND_LIMIT
AttributeError: 'module' object has no attribute 'RAND_LIMIT'

我决定卸载Box2d并重新安装。我在uninstall中尝试了pip命令,但它无法卸载它。 (pip表示已删除软件包,但Box2d forlder仍在dist-packages文件夹中。不应该pip用该命令删除它吗? 任何删除Box2d或修复错误的解决方案?

1 个答案:

答案 0 :(得分:2)

只需删除dist-packages中的文件夹即可。然后确保sys.path文件夹中没有其他对包的引用:

#in 2.7.13 in `-c' mode, `print' adds `\n' even with `,' at the end
python -c 'import sys; sys.stdout.write("\0".join(sys.path))' | xargs -0 -I ARG find ARG -type f -print0 | xargs -0 grep -iHe 'box2d'

(注意:这不会搜索.zip s,打包.egg等等。)