1、场景
- 用pyinstaller打包程序后放到远程电脑的D盘中,然后运行。
- 运行后提示报错,找不到指定的路径:"c:\\……"
2、原因
很明显,理论上路径应该是D开头,但实际是C。
程序中使用了
os.path.dirname(__file__)
来获取基础目录,但是输出的路径是在 C 盘的某个位置,可能是因为 PyInstaller 打包后的可执行文件在运行时会解压缩到临时目录中,然后再运行。因此,__file__
所得到的路径实际上是解压缩后的临时路径,而不是打包后的文件所在的路径。
3、解决办法
使用 sys.argv[0] 获取可执行文件路径 :
import sys
import os
base_dir = os.path.dirname(sys.argv[0])
评论列表,共 0 条评论
暂无评论