skywind3000 / PyStand

:rocket: Python Standalone Deploy Environment !!
MIT License
641 stars 75 forks source link

pillow需要Library的内容,怎么吧Library添加到PyStand中 #35

Open ylluX opened 1 year ago

ylluX commented 1 year ago

将PIL拷贝到PyStand,执行程序后,提示: from PIL import Image File "D:\PyStand\site-packages\PIL\Image.py", line 89, in from . import _imaging as core ImportError: DLL load failed while importing _imaging: 找不到指定的模块。

研究后发现,原始的虚拟环境中Lib/site-packages/PIL依赖Library/include, 根据教程,把PIL拷贝到PyStand/site-packages,那么Library拷贝到哪儿呢?

skywind3000 commented 1 year ago

按照相对路径拷贝

ylluX commented 1 year ago

miniconda虚拟环境相对路径如下: miniconda | envs .......| my_env ..............| python.exe ..............| Lib ..............|.....| site-packages ..............|...........| PIL ..............| Library # PIL依赖这个目录下的一些文件 ....................| bin ....................| include ....................| lib ....................|__ ssl

PyStand的目录结构如下: PyStand | runtime |.....| python.exe |__ site-packages

按照教程,把miniconda/envs/my_env/Lib/site-packages/PIL拷贝到PyStand/site-packages/中,那么miniconda/envs/my_env/Library拷贝到哪个路径下呢? “按照相对路径拷贝”是相应与谁呢?是PyStand/runtime/python.exe还是相对于PyStand/site-packages/PIL呢,前者我试了不行,后者的话相对路径已经跑出PyStand项目之外了。

ylluX commented 1 year ago

问题解决了,用conda安装的PIL,无法直接拷贝过来使用,但用pip安装的可以。