Python virtualenv 虚拟环境(详细使用,包含打包 exe/app )

1,027 阅读1分钟

一、简介

  • 也可以使用 Python 自带的虚拟环境工具 venv,从 Python 3.3 起就内置,使用也简单,不复杂的依赖可以使用这个就够了。

  • virtualenv 官网Python 虚拟环境官方中文文档

  • 在开发 Python 应用程序的时候,系统上通常只会安装一个 Python 版本:例如 3.7。所有使用 pip 安装的第三方包都会被安装到 Pythonsite-packages 目录下。如果同时开发多个应用程序,而这些应用程序需要使用的某一个第三方包的版本各不相同,该怎么办?这种情况下,为每个应用程序“独立”安装一套 Python 运行环境显然是不现实的。这个难题,使用 virtualenv 可以轻易解决。

  • virtualenv 是专门用来为应用程序维护多套相互 隔离Python 运行环境的工具,借助 virtualenv 可以在一台主机上创建多套相互隔离的 Python 运行环境。

二、安装使用

  • 安装

    $ pip install virtualenv
    
  • 建个专门用来管理虚拟环境的文件夹,cd 进去,然后开始创建一个独立的 Python 虚拟运行环境 venv(虚拟环境文件名随意,这里借用官方的)

    # 创建虚拟环境(默认是一个干净的 Python 环境,之前 pip 安装的第三方库都不会被复制进来)
    $ virtualenv venv
    
    # 创建虚拟环境(指定要将之前 pip 安装的第三方库都复制到新建的虚拟环境中)
    $ virtualenv --system-site-packages venv
    
    # 创建虚拟环境(在多个 Python 版本的情况下,可以创建指定 Python 版本的虚拟环境,例如:~/.pyenv/versions/3.10.3/bin/python3 )
    $ virtualenv -p /usr/bin/python2 venv
    
    # 查看更多配置项
    $ virtualenv --help
    
  • 启动虚拟环境

    # 启动虚拟环境(以前老版本是 venv/Scripts/activate 的方式进行启动)
    $ source venv/bin/activate
    
  • 退出虚拟环境

    # 退出关闭虚拟环境
    $ deactivate
    
  • 启动案例

    # 启动虚拟环境(启动后前面会有的标志(venv))
    dengzemiaodeMacBook-Pro python % source venv/bin/activate
    # 列出当前虚拟环境的第三方库
    (venv) dengzemiaodeMacBook-Pro python % pip list
    Package    Version
    ---------- -------
    pip        22.3.1
    setuptools 65.5.1
    wheel      0.38.4
    # 退出虚拟环境
    (venv) dengzemiaodeMacBook-Pro python % deactivate
    dengzemiaodeMacBook-Pro python % 
    
  • 然后就可以当做一个正常 Python 开发环境去使用了,安装第三方插件什么的。

三、推荐 Python virturalenv + pyinstaller 最小化打包 python 程序