返回信息流写了一个带GUI的脚本,初衷是希望能够在没有安装Python或tcl或其他依赖库的电脑上运行。
尝试用Pyinstaller的one file功能把python脚本和全部依赖库都打包为一个单独的exe文件,
由于one file模式下Pyinstaller会在exe执行时会实时的创建一个os.sys.__MEIXXXXX的文件夹,并在这个文件夹下释放这个exe需要的文件,其中也包括tcl的库。所以主动的在脚本里面写了os.putenv(key, value),把TCL_LIBRARY的环境变量指向了这个临时文件夹。
但是运行exe的时候会提示还是找不到tcl的有效目录。这个是哪里出问题了?
这是一条镜像帖。来源:北邮人论坛 / python / #12612同步于 2016/3/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
用Pyinstaller打包为独立exe出现tcl环境变量不对的问题
mtyylx
2016/3/7镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
单exe啥意思?
会生成含依赖库的文件夹……
【 在 mtyylx 的大作中提到: 】
:
: py2exe打包生成单exe给力么
:
:
: 【 在 iamluo 的大作中提到: 】
: : 表示都用的py2exe
:
:
运行exe时是可以在c:\Users\AppData\Local\Temp\下看到新建的临时文件夹,而且里面也带了tcl的全部库。
TCL_LIBRARY也实时的设为了c:\Users\AppData\Local\Temp\_MEIxxxxx\tcl
但是还是会显示没有找到可用的tcl init.tcl文件,
显示找的位置是c:\Users\AppData\Local\Temp\lib\tcl8.5,并没有按照设的环境变量地址来找。很奇怪。
【 在 Dogless 的大作中提到: 】
: 可能是exe没有权限创建临时文件夹
: 右键,以管理员运行
就是只生成一个单独的exe文件,不带文件夹的那种。
pyinstaller配置spec文件可以做到把依赖的所有data和binary都打包进exe。
【 在 iamluo 的大作中提到: 】
: 单exe啥意思?
: 会生成含依赖库的文件夹……
: :
哦,虽然有文件夹,但弄个exe的快捷方式放桌面,也不影响
【 在 mtyylx 的大作中提到: 】
:
: 就是只生成一个单独的exe文件,不带文件夹的那种。
:
: pyinstaller配置spec文件可以做到把依赖的所有data和binary都打包进exe。
:
:
: 【 在 iamlu
: .........