Error when running LayerView
yvanblanchard opened this issue ยท 10 comments
Hello Yvan. Thank you for reporting the issue!
Could you please provide the following information:
- Version of the Python interpreter:
python -V
- The full output of the
pip freeze
command. - A full copy of the traceback resulting from starting the application.
The above-described information will help me reproduce the issue on my setup, track down the root cause and possibly release a bugfix.
Thank you!
Maja
Hello,
My version of Python is: 3.9.5.
Here is attached the log of pip freeze:
pipFreezeOut.log
Here is also the layerView out:
layerViewOut.log
Thank you for your help,
yvan.
Hi Yvan!
Thank you for the uploading the logs. I have a busy week ahead, but I'll try to find time to work on this issue.
Hi Yvan, just letting you know that I still remember about this issue. I'm currently busy and will get back to this once my schedule clears up.
Regards,
Maja
Thank you Maja
Hello @majabojarska , could please indicate what's wrong at my side ? or is it possible for you to give output binaries (for Windows OS) ? thank you
Hi @yvanblanchard , thank you for your patience on this matter. I've investigated the issue on a Win10 machine and I've noticed two problems.
It seems that a package compatibility regression appeared with the release of QPanda3D==0.2.9
. It broke mouse interaction with the canvas. For now, this can be solved by pinning the version of that package to 0.2.8
.
I've successfully reproduced the issue you've reported on a Win10 machine. It does not reproduce on Linux-based machines and seems to be Windows-specific. A difference between path formats seems to be the root cause here, as Panda3D operates on UNIX paths - that's probably why the texture loading issue does not reproduce on my Linux machine ๐ .
I'll dive into this issue this weekend and hopefully release a bugfix. Thanks again for you contribution!
I just found the root cause, and to be honest it's kind of funny.
Turns out that during runtime, the __file__
global variable contained a lowercase lib
, instead of the actual Lib
directory name. Generally, this shouldn't be an issue, as Windows paths are case-insensitive. However, Panda3D requires the paths to be case-correct, even if the host OS does not distinguish them as unique paths.
The determined texture's path also contained the same case-sensitivity culprit (lib
, instead of Lib
). This tiny difference caused Panda3D to crash on an attempt to load the requested resource (the left side is the actual, correct path):
pathlib.Path.resolve
fixes that kind of case sensitivity issues in Windows paths. I've tested it on my machine and hopefully it'll work in your case too @yvanblanchard . I'll release the bugfix tomorrow ๐ .
I've done some package maintenance and merged the bugfix. Release on PyPI as version 0.1.6. Tested manually on a clean Win10 environment, seems to be working now ๐ .
Please let me know if version 0.1.6 fixes the reported issue also on your setup, @yvanblanchard .
That works fine now. Thank you very much!