【问题标题】:Do I need to uninstall Python package before upgrading to newer version?在升级到新版本之前我需要卸载 Python 包吗?
【发布时间】:2014-07-16 16:19:56
【问题描述】:

我在 Windows 上运行 Python,通常使用预构建的二进制文件安装软件包。当我升级软件包(例如从 matplotlib-1.0.0 到 matplotlib-1.1.1)时,我需要先卸载早期版本吗?

我在没有卸载以前版本的情况下进行了升级 matplotlib 的测试,一切似乎都很好。 matplotlib.__version__ 显示“1.1.1”。那么 distutils 是否只是覆盖了文件,可能会使旧文件弄乱我的站点包文件夹?还是安装程序会查找以前的安装,先将其删除,然后再安装新版本?

【问题讨论】:

  • 当我在 Windows 控制面板中查看我安装的程序时,以前版本的 matplotlib 在安装新版本后就消失了,所以安装程序似乎要么删除了旧包,要么告诉 Windows旧包已被删除。

标签: python windows distutils


【解决方案1】:

如果您使用的是pip,则可以使用pip install package --upgrade,但您会发现它本质上与卸载后重新安装相同。

【讨论】:

  • 我没有使用pip。我下载了一个预构建的 Windows 可执行文件(例如 matplotlib-1.1.1.win32-py2.7.exe),它运行安装向导。
  • 我测试了这两种情况(全新安装与之前的安装),然后使用 WinMerge 比较了两个 matplotlib 文件夹,发现之前版本遗留的其他文件。因此,对于 pip upgrade 的作用(卸载 + 全新安装),Windows distutils 似乎没有任何魔力。
  • OP 使用 pip 无法处理的预构建二进制文件,因此他无法使用 pip 安装它们。不过他可以使用easy_install
【解决方案2】:

你必须卸载它:

pip uninstall matplotlib

这会使您的网站包变得混乱或更糟

【讨论】:

    【解决方案3】:

    是的,您需要全新安装。从 matplotlib 1.2.1 升级到 1.3.1 时,我已经打了我的腿,不先删除旧包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 2015-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多