免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6391 | 回复: 3
打印 上一主题 下一主题

python脚本加密后导致环境变量信息丢失 - 已解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-26 18:07 |只看该作者 |倒序浏览
本帖最后由 alinunix 于 2013-10-13 21:50 编辑

Linux(RHEL4和RHEL5)下python脚本用pyinstaller(试了2.0版和2.1版)加密后导致环境变量丢失,哪位高手帮忙看下?

set_env.csh
#!/bin/csh -f
setenv LD_LIBRARY_PATH /linux/test/lib64
source set_env.csh

执行以下命令
source set_env.csh
echo $LD_LIBRARY_PATH
输出:/linux/test/lib64

加密前的python脚本test.py
#!/usr/bin/env python
import os
print os.environ['LD_LIBRARY_PATH']


执行test.py
输出: /linux/test/lib64

加密后的python脚本dist/test

用pyinstaller加密(pyinstaller-2.0/pyinstaller.py --onefile test.py)后得到dist/test

执行dist/test
输出:/tmp/_MEIHpD1ar/

这个是怎么回事呢,为什么python脚本加密后环境变量LD_LIBRARY_PATH的信息会丢失呢?有哪位朋友能帮忙看下不?谢谢啦!





论坛徽章:
0
2 [报告]
发表于 2013-09-27 12:36 |只看该作者
http://comments.gmane.org/gmane.comp.python.pyinstaller/3012

The file to modify is in ./trunk/source/linux/utils.c. There is the code
which sets the LD_LIBRARY_PATH.

For details how to compile the bootloader from source see pyinstaller
manual.

好像是和source/linux/utils.c的设置有关。呵呵,感觉太复杂了,搞不定。

也有人碰到类似的问题
https://groups.google.com/forum/ ... Y8236Q/n_L-qqjHhwIJ
With the latest (develop) version of PyInstaller, I suddenly started having problems loading a shared library via ctypes
像是新版本才有这个问题,于是下载了老版本的1.5.0和1.5.1,果然这个问题解决了。

哪位朋友懂C编程的,帮忙看下新版的pyinstaller(2.0, 2.1),要怎么改source/linux/utils.c,才能解决这个问题?

论坛徽章:
0
3 [报告]
发表于 2013-10-12 18:44 |只看该作者
1.5.0, 1.5.1 pyinstaller加密,环境变量LD_LIBRARY_PATH丢失的问题解决了,可是出现很多别的问题。

哪位朋友可以帮忙解决下pyinstaller2.0或2.1加密后LD_LIBRARY_PATH变量丢失的问题,目前好像只碰到这一个问题,多谢啊!

论坛徽章:
0
4 [报告]
发表于 2013-10-13 21:02 |只看该作者
呵呵,终于找到答案了, 不容易啊,共享出来和有需要的朋友分享。

http://www.pyinstaller.org/ticket/625
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP