Does H22 change how 456.py works?
2248 18 3-
- raincole
- Member
- 747 posts
- Joined: 8月 2019
- オフライン
-
- LeoEvershed
- Member
- 8 posts
- Joined: 5月 2023
- オフライン
-
- akihito20x0
- Member
- 9 posts
- Joined: 12月 2014
- オフライン
-
- cemg
- Member
- 1 posts
- Joined: 8月 2025
- オフライン
-
- jim707jim707jim
- Member
- 7 posts
- Joined: 5月 2018
- オフライン
-
- akihito20x0
- Member
- 9 posts
- Joined: 12月 2014
- オフライン
-
- akihito20x0
- Member
- 9 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
- 9 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
- 9 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
- 9 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 - 2026年9月22日 15:00:09
-
- akihito20x0
- Member
- 9 posts
- Joined: 12月 2014
- オフライン
Regnareb
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.
Regnareb
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.
Regnareb
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.
SideFX guys said.
Anyway I don’t think they leave a bug for 10years.
It’s normal for me.
-
- kodoragon
- Member
- 4 posts
- Joined: 9月 2026
- オフライン
-
- akihito20x0
- Member
- 9 posts
- Joined: 12月 2014
- オフライン
kodoragon
No way this is the intended behavior. And if it were, that'd be a really bad design.
You think so?
Personally I don't think packages should handle 456.py.
If it's the case of 123.py, it's understandable for me though.
456.py is a startup script that runs when a scene is created or loaded.
I think it's for a designer or a machine. It's not for a system(including packages).
I also have some complaints about that.
For example, then why does it ignore my local 456.py or something like that.
But it works just like the previous version now. It works for me.
Anyway you can make a feature request.
Edited by akihito20x0 - 昨日 09:53:49
-
- Quick Links

