【问题标题】:Python: How can I update python version in pyenv-virtual-environment?Python:如何在 pyenv-virtual-environment 中更新 python 版本?
【发布时间】:2017-11-25 08:03:35
【问题描述】:

我使用pyenvpyenv-virtualenv来管理python虚拟环境。

我有一个项目在 Python 3.4 虚拟环境中工作。

所以所有已安装的包(pandasnumpy 等)都不是最新版本。

我想要做的是将Python 版本从 3.4 升级到 3.6 以及将其他软件包版本升级到更高版本。

我怎样才能轻松做到这一点?

【问题讨论】:

  • 也许创建一个新的虚拟环境?

标签: python virtualenv pyenv


【解决方案1】:

这是我从3.9.0a5 切换到3.9.0 的方式:

$ pip freeze > requirements-lock.txt
$ pyenv virtualenv-delete a-virtualenv-name
$ pyenv virtualenv 3.9.0 a-virtualenv-name
$ pip install -r requirements-lock.txt
$ rm requirements-lock.txt

使用pip freeze > requirements.txt通常不是一个好主意,因为此文件通常用于处理您的包要求(not necessarily pip freeze 输出)。最好使用不同的(临时)文件来确定。

【讨论】:

  • 这是一个更好的解决方案,尤其是在将 requirements.txt 签入版本控制时。
  • 请注意,这不是“降级”——3.9.0a5 是 Python 的 alpha 版本,而3.9.0 是该版本的最终稳定版本。
【解决方案2】:

使用pip freeze > requirements.txt 保存已安装包的列表。

使用 python 3.6 创建一个新的 venv。

使用pip install -r requirements.txt 安装保存的包。当 pip 在其缓存中找到一个通用轮时,它会从缓存中安装包。其他包将被下载、缓存、构建和安装。

【讨论】:

    【解决方案3】:

    如果你使用 anaconda,只需输入

    conda install python==$pythonversion$

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多