Does H22 change how 456.py works?
2017 15 3-
- raincole
- Member
- 747 posts
- Joined: 8月 2019
- オフライン
-
- LeoEvershed
- Member
- 8 posts
- Joined: 5月 2023
- オフライン
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
-
- cemg
- Member
- 1 posts
- Joined: 8月 2025
- オフライン
-
- jim707jim707jim
- Member
- 7 posts
- Joined: 5月 2018
- オフライン
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
It also doesn't work with 456.py in Houdini 22.0.429.
So I made a bug report again and it was submitted.
So I made a bug report again and it was submitted.
Edited by akihito20x0 - 2026年9月3日 13:33:58
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
-
- ajz3d
- Member
- 669 posts
- Joined: 8月 2014
- オフライン
akihito20x0No, but I was wondering about a scenario where two packages had the same file (in the same path of the package's directory structure), like
Do you have two or more packages that have 456.py?
456.pyfor example. In other words - which package would overwrite such file belonging to another package. I checked the docs, and it turns out that by default, packages are processed in alphabetical order, but we can alter this order by manually inserting process_orderkeyword in JSON files of each package:https://www.sidefx.com/docs/houdini/ref/plugins.html#package_order [www.sidefx.com]
So it's good to know that we have some means of resolving this kind of conflicts, which are silent, because we're not notified about which package overwrites the content from another package when it's loaded.
Edited by ajz3d - 2026年9月12日 14:31:11
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
ajz3dakihito20x0No, but I was wondering about a scenario where two packages had the same file (in the same path of the package's directory structure), like
Do you have two or more packages that have 456.py?456.pyfor example. In other words - which package would overwrite such file belonging to another package. I checked the docs, and it turns out that by default packages are processed in alphabetical order, but we can alter this order by manually insertingprocess_orderkeyword in JSON files of each package:
https://www.sidefx.com/docs/houdini/ref/plugins.html#package_order [www.sidefx.com]
So it's good to know that we have some means of resolving this kind of conflicts, which are silent, because we're not notified about which package overwrites the content from another package when it's loaded.
I think the user 456.py is overwritten by packages, then packages usually should be designed not to have 456.py.
Houdini SideFX Labs 22 initially have 456.py. It is the bug. It hasn't had it before. And doesn't have it now.
Edited by akihito20x0 - 2026年9月12日 14:42:37
-
- Regnareb
- Member
- 2 posts
- Joined: 4月 2015
- オフライン
The bug is not that Labs have a
This code doesn't check for recursion but it should check for all 456 files.
456.pybut that Houdini don't execute all the 456.py. Each package should be able to have those files otherwise it would be a management nightmare.This code doesn't check for recursion but it should check for all 456 files.
import os for path in hou.houdiniPath(): if (os.path.exists(path + '/python3.11libs/456.py')): exec(open(path + '/python3.11libs/456.py').read()) if (os.path.exists(path + '/python3.13libs/456.py')): exec(open(path + '/python3.13libs/456.py').read()) if (os.path.exists(path + '/456.py')): exec(open(path + '/456.py').read())
-
- akihito20x0
- Member
- 7 posts
- Joined: 12月 2014
- オフライン
Regnareb
The bug is not that Labs have a456.pybut that Houdini don't execute all the456.py. Each package should be able to have those files otherwise it would be a management nightmare.
This code doesn't check for recursion but it should check for all 456 files.import os for path in hou.houdiniPath(): if (os.path.exists(path + '/python3.11libs/456.py')): exec(open(path + '/python3.11libs/456.py').read()) if (os.path.exists(path + '/python3.13libs/456.py')): exec(open(path + '/python3.13libs/456.py').read()) if (os.path.exists(path + '/456.py')): exec(open(path + '/456.py').read())
But previous versions or older versions are the same.
It's the specification.
-
- Regnareb
- Member
- 2 posts
- Joined: 4月 2015
- オフライン
Where in the specification does it says that?
There are bugs that were there 10 years ago, they are still bugs despite their lifespan.
If only one 456.py can execute, it means any package overrides any other package functionality. That would be crazy.
There are bugs that were there 10 years ago, they are still bugs despite their lifespan.
If only one 456.py can execute, it means any package overrides any other package functionality. That would be crazy.
Edited by Regnareb - 今日 15:00:09
-
- Quick Links

