python-pyinstaller打包后获取路径报错问题解决

ZhangJian 2020-03-03 n次浏览 Python 编辑

打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在

pyinstaller -F hello.py

使用-F参数后,打包的可执行文件是一个整体,只有一个.exe文件。 获取文件路径的方式有四种,可以在打包成exe文件后,获取.exe文件的当前路径

import sys
import os
print(sys.path[0])
print(sys.argv[0])
print(os.path.dirname(os.path.realpath(sys.executable)))
print(os.path.dirname(os.path.realpath(sys.argv[0])))

在编辑器中:

c:\Users\admin\Desktop\upload
c:\Users\admin\Desktop\upload\test.py
C:\Users\admin\AppData\Local\Programs\Python\Python37
c:\Users\admin\Desktop\upload

编译成exe:

C:\Users\admin\AppData\Local\Temp\_MEI221802\base_library.zip
test.exe
C:\Users\admin\Desktop\upload\dist
C:\Users\admin\Desktop\upload\dist
C:\Users\admin\Desktop\upload\dist>

解决代码中路径用第四个

os.path.dirname(os.path.realpath(sys.argv[0]))