【问题标题】:Remove a version of a python package删除一个 python 包的版本
【发布时间】:2015-02-19 16:32:58
【问题描述】:

我正在尝试安装 Python 包名称 MDAnalysis,它需要 numpy。 问题是python的默认路径是

/System/Library/Frameworks/Python.framework/Versions/2.7/lib/

但我的包(用 pip 安装)在:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

所以我将此路径添加到PYTHONPATH,但问题现在出现在每个路径中,我有不同版本的numpy,python 总是使用第一个路径中的版本,导致mach-o, but wrong architecture。如何删除第一个路径中的版本? pip卸载将删除第二个路径中的numpy,当我转到第一个路径直接删除numpy时,它说文件/文件夹不存在。 在此先感谢

【问题讨论】:

  • 使用virtualenvs 管理不同的安装和包版本通常更容易。
  • 你确定第一个 numpy 版本会导致 mach-o 问题吗?通常,当你的 PYTHONPATH 正确时,系统不应该接触包。

标签: python macos numpy import mdanalysis


【解决方案1】:

我想,最简单的解决方案是你改变你的 PYTHONPATH,将你的站点包路径添加到 另一个路径之前。

例如(在您的启动外壳或您设置路径的位置):

PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH

当然也可以使用 virtualenv,但这也需要一些学习,我目前不确定它是否能解决你的直接问题,因为系统库仍然可以访问。

不过,您也可以手动移除包。但是当上述修复有帮助时,我会推荐它。

在 Linux 上,只需从 PYTHONPATH 转到正确的目录即可删除包,而不仅仅是应用:

rm -fr numpy

据我所知,这应该完全删除包。可能是,.egg 文件保留在基本文件夹中,也可以删除,但我认为它不会造成更大的伤害。

【讨论】:

  • 感谢当我导入 MDAnalysis 时,它总是会产生 match-o 错误。我不知道还有什么可能导致这个问题......
  • 您好,您使用的是 MacOS?我以前没有听说过 mach-o,但我成功了它并获得了很多关于 Mac 的点击。我猜,您的某个库是针对错误的 Mac 架构编译的。
  • 也许你可以看看这篇文章,它可能会有所帮助(??)我没有使用 Mac 的经验,所以我想,我的帮助有限:stackoverflow.com/a/10683043/122012
  • 非常感谢,可能是我的问题。我正在使用 MacOS Snow Leopard,而且我也是 Mac 的新手,所以我想我必须深入研究这些帖子。我以前讨厌Mac,现在我更讨厌它:'(
猜你喜欢
  • 2013-02-17
  • 1970-01-01
  • 1970-01-01
  • 2019-04-03
  • 1970-01-01
  • 1970-01-01
  • 2017-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多