创建python虚拟环境并打包python文件
阅读原文时间:2023年09月27日阅读:1

当需要为一个离线环境部署python应用时,离线环境可能缺少各种python环境,有docker的话可以用docker,没有docker可以用pyinstaller打包成二进制文件。pyinstaller会打包当前所有用pip安装的包,所以建议在虚拟环境中打包python应用。

  • 系统版本:centos 7
  • python版本:3.6
  1. 安装virtualenv

    pip3 install virtualenv

  2. 创建虚拟环境

    virtualenv myvenv

  3. 激活虚拟环境

    cd myvenv
    source ./bin/activate

  4. 下载依赖(在虚拟环境使用pip时会引用宿主机的pip.conf文件,因此建议宿主机先设置好国内pip源,加快下载)

    pip3 install pandas pyinstaller pymysql

  5. 编辑python文件:test.py

  6. 打包test.py。可以通过pip3 show pandas获取site-packages的路径。打包后的二进制程序在当前目录的dist目录下。

    pyinstaller -F -p /home/myvenv/lib64/python3.6/site-packages test.py

  7. 退出虚拟环境

    deactivate

  • 需要管理多个虚拟环境时,推荐使用virtualenvwrapper
  • 如果需要删除virtualenv创建的虚拟环境,直接删除目录即可。