pangao1990 / PPX

基于Python和JavaScript,一键生成macOS、Windows和Linux平台客户端应用程序
https://blog.pangao.vip/docs-ppx/
GNU Affero General Public License v3.0
232 stars 39 forks source link

请问为什么我在终端pnpm run start的时候sys.path能正确获取到路径,但是打包成可执行文件后获取到的则是临时文件夹的目录 #37

Closed Ryuddle closed 3 months ago

Ryuddle commented 8 months ago

使用run build打包后生成的exe文件在启动后把所需要的文件在临时文件夹中生成出来,如果使用run build:cef模式的话,会在build文件夹中生成启动所需的文件,这个是我在哪里的配置有问题么

pangao1990 commented 8 months ago

你好,其实常规会用到的目录,我都已经在配置文件里面写了对应的变量,直接调用就可以了。

调用方法

from pyapp.config.config import Config

print(Config.appDir)
image
Ryuddle commented 8 months ago

这部分我没有修改,我在页面输出了这一行,这一行是临时文件夹的目录 M 8_`PXBFSOJ(2@ @{IA)05

Ryuddle commented 8 months ago

1.如果我使用pnpm run build 进行构建的话 build 目录里的目录结构是这样的 image 2.如果我使用pnpm run build:folder 进行构建的话 build 目录的目录结构是这样的 image 使用1生成的exe的话会在临时文件夹中生成需要使用的文件夹,然后导致sys.path输出的路径是临时文件夹。 使用2生成的exe就没有这个问题,因为需要使用到的文件夹在同目录生成了,所以sys.path的输出路径是当前路径

pangao1990 commented 3 months ago

@Ryuddle 你好,我现在更新PPX到V4.4.0了。 默认使用pnpm run build打包时,是使用folder模式打包,而非打包成一个独立的exe。这样就可以解决你遇到的问题(也就是你上面说的【使用2】的情况)。 不仅如此,使用folder模式打包,比打包成一个独立的exe的运行速度要快一些。 当然了,最终还是会打包成一个exe的安装程序的。

image