zl程序教程

您现在的位置是:首页 >  后端

当前栏目

迁移编译后的python程序的问题及解决方案

2023-09-11 14:21:25 时间

在前一篇博文中,我们讲述了如何将python脚本通过编译进行加密,按照第三种方法编译之后得到的可执行文件,迁移到其他环境的时候可能会遇到其他问题:

1. Python解释器路径问题
错误信息:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]

解决办法

export PYTHONHOME=
或者
unset PYTHONHOME

2. $PYTHONPATH路径问题
错误信息:

ImportError: No module named site

查找site相关路径

[root@58362c56d43d]find / -name site.py*
/usr/lib64/python2.7/site.pyc
/usr/lib64/python2.7/site.py
/usr/lib64/python2.7/site.pyo

将路径添加到$PYTHONPATH

[root@58362c56d43d]export PYTHONPATH=$PYTHONPATH:/usr/lib64/python2.7

3. 找不到_socket模块
错误信息:

import _socket ModuleNotFoundError: No module named '_socket'

出现这个问题的可能性是你当前的python版本太低,我从docker hub拉取的centos:7.6.1810镜像自带Python 2.7.5,这个版本找不到_socket模块,将Python升级到2.7.15解决。

4. openssl_md5() takes no keyword arguments错误
错误信息:

TypeError: openssl_md5() takes no keyword arguments

将Python升级到2.7.15解决。

注:当升级到2.7.15版本之后,以上第二步的PYTHONPATH要相应修改,默认的库已经不在那个文件夹了。