【python】pyinstaller编译后py脚本中的shell命令报错symbol lookup error

问题描述

  1. 有一个python脚本testa.py,脚本内部使用了shell命令,比如:
# testa.py
import subprocess
subprocess.call("mkdir -p test123", shell=True)
  1. 直接使用pyinstaller进行编译
pyinstaller testa.py

编译后生成的文件:./dist/testa

  1. testa放入镜像中,在镜像中执行testa脚本,出现报错注意信息
mkdir: symbol lookup error: mkdir: undefined symbol: mode_to_security_class

很明显,不可能是mkdir命令本身的问题。从网搜的很多说明中,推测大概率与配置的环境有关。
在使用pyinstaller前,先配置好环境,再进行pyinstaller编译,则不再报错。

解决办法

  1. 使用的配置文件mypath.txt:
unset PYTHONPATH PYTHONHOME
export PATH=/mysoftware/python2/envs/pyinstaller/bin/:$PATH
#export LD_LIBRARY_PATH=/mydir/src/proj7-mysql:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=/mysoftware/python2/envs/pyinstaller/lib/python2.7/site-packages/libc/glibc-2.14/build/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/mysoftware/python2/envs/pyinstaller/lib/python2.7/site-packages/mysql/:$LD_LIBRARY_PATH
  1. 然后使用source命令配置环境
source mypath.txt
  1. 重新进行pyinstaller编译
pyinstaller testa.py

编译后,重新将./dist/testa脚本加入镜像,再进行测试,没有问题。

总结

出现该文件主要是本地编译的环境,和使用的镜像环境不统一导致。
后续问题:如何确认两个环境是否统一?(上面的配置文件为什么可以解决上面的问题?)

相关推荐

  1. 第一节 SHELL脚本常用命令(1)

    2024-07-15 16:48:03       17 阅读
  2. 第一节 SHELL脚本常用命令(2)

    2024-07-15 16:48:03       20 阅读
  3. 第一节 SHELL脚本常用命令(6)

    2024-07-15 16:48:03       19 阅读
  4. 第一节 SHELL脚本常用命令(7)

    2024-07-15 16:48:03       27 阅读
  5. linux&shell日常脚本命令ps命令

    2024-07-15 16:48:03       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 16:48:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 16:48:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 16:48:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 16:48:03       69 阅读

热门阅读

  1. Linux

    2024-07-15 16:48:03       23 阅读
  2. Unsloth使用简介

    2024-07-15 16:48:03       19 阅读
  3. Eureka是什么?

    2024-07-15 16:48:03       22 阅读
  4. 享元模式(大话设计模式)C/C++版本

    2024-07-15 16:48:03       19 阅读
  5. html 关闭信息窗口

    2024-07-15 16:48:03       22 阅读
  6. vue3+springboot+minio,实现文件上传功能

    2024-07-15 16:48:03       20 阅读
  7. 使用Python进行桌面应用程序开发

    2024-07-15 16:48:03       16 阅读
  8. 启动 zabbix 相关服务

    2024-07-15 16:48:03       19 阅读
  9. 【AI应用探讨】—KAN应用场景

    2024-07-15 16:48:03       23 阅读