如何升级Python venv版本

Mic*_*one 5 python-venv

我安装了Python3.10,并且在我一直在从事的项目中有一个venv。我不明白如何轻松升级。我的背景主要是 Node 和 JS,这肯定更简单,更容易更改版本。

我只是想创建一个新的 venv 但这不起作用

mpaccione@T430:~/Projects/investing/react-flask-app/server$ python3.10 -m venv ~/Projects/investing/react-flask-app/server
Error: Command '['/home/mpaccione/Projects/investing/react-flask-app/server/bin/python3.10', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)

我还想也许我可以更改 pyvenv 配置可以更改,但这也不起作用

home = /usr/bin
include-system-site-packages = false
version = 3.8
Run Code Online (Sandbox Code Playgroud)

home = /usr/bin/python3.10
include-system-site-packages = false
version = 3.10
Run Code Online (Sandbox Code Playgroud)

有没有一种简单直接的方法可以改变这种情况?我确信这是一个常见的用例!

小智 11

找到包含代码的目录。为你
假设。~/Projects/investing/react-flask-app/server

  1. 如果没有激活venv (假设venv用于当前虚拟环境):

    $ source venv/bin/activate
    
    Run Code Online (Sandbox Code Playgroud)
  2. 保存当前的依赖项:

    $ pip freeze > requirements.txt
    
    Run Code Online (Sandbox Code Playgroud)
  3. 停用当前虚拟环境:

    $ deactivate
    
    Run Code Online (Sandbox Code Playgroud)
  4. 删除当前的venv文件夹(我不知道它在你的机器中是如何调用的)。

  5. 创建一个新的venv文件夹(如果 python3.10 用于 Python 3.10):

    $ python3.10 -m venv venv
    
    Run Code Online (Sandbox Code Playgroud)
  6. 激活venv

    $ source venv/bin/activate
    
    Run Code Online (Sandbox Code Playgroud)
  7. 安装保存的依赖项:

    $ pip install -r requirements.txt
    
    Run Code Online (Sandbox Code Playgroud)