skywind3000 / PyStand

:rocket: Python Standalone Deploy Environment !!
MIT License
766 stars 86 forks source link

建议在内置初始化脚本帮忙初始化DLL加载目录 #70

Closed cdhigh closed 10 months ago

cdhigh commented 10 months ago

因为有些库需要额外的dll,而python加载dll和加载pyd的搜索路径是不一样的, 加载pyd搜索的路径列表在 sys.path 但是加载dll搜索的路径列表在 os.environ["PATH"] 里面,所以导致了将dll拷贝到runtime目录后加载失败,后来经过多次摸索,在文件开头增加这个语句才成功解决。

os.environ["PATH"] += ';' + sys.base_prefix

建议将此语句添加到内置初始化脚本。

skywind3000 commented 10 months ago

为何要把额外的 dll 放到 runtime 目录下呢?

cdhigh commented 10 months ago

制作便携版,如果不放到runtime目录应该放到哪个目录?

skywind3000 commented 10 months ago

site-packages 啊

yuanjunchn commented 3 months ago

因为有些库需要额外的dll,而python加载dll和加载pyd的搜索路径是不一样的, 加载pyd搜索的路径列表在 sys.path 但是加载dll搜索的路径列表在 os.environ["PATH"] 里面,所以导致了将dll拷贝到runtime目录后加载失败,后来经过多次摸索,在文件开头增加这个语句才成功解决。

os.environ["PATH"] += ';' + sys.base_prefix

建议将此语句添加到内置初始化脚本。

我也遇到这个问题,是安装ffpyplayer的时候,用pystand打开报错显示找不到dll,能具体说下是如何解决的吗?