Hello,
I downloaded today's 18.0.340 Python 3 Tech Preview build for Mac and it definitely is built against Python 3. Not only did the Python Shell report “Python 3.7.4” but the Houdini main window frame also said “Python 3” at the top.
I recommend a re-install since it looks like you have a Python 2 build of Houdini installed. So uninstall Houdini, unmount any existing Houdini images from your system (this can be done in Finder), then open the houdini-py3*.dmg file and run through the installation as usual.
Cheers,
Rob
Found 303 posts.
Search results Show results as topic list.
Technical Discussion » How to Enable Python 3 in Houdini 18?
- rvinluan
- 1255 posts
- Offline
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
searaigrvinluan
The RPCException: Server returned error 500: b'error is fixed in the daily builds. Unfortunately it wasn't detected until late in the release cycle and therefore was not fixed in time for the .287 gold build. Please use the daily builds for the HQueue server and clients.
I'm also getting this error on a mac, but, I'm an Apprentice user, so, I'm pretty sure I don't have access to Daily Builds. Any idea when another build for Apprentice users will be released / is there a workaround?
Thanks!
You can download the daily builds from here even if you are an Apprentice user:
https://www.sidefx.com/download/daily-builds/#category-devel [www.sidefx.com]
Cheers,
Rob
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
SkippyLink
Then I get a new error, but new is better…
ERROR: The attempted operation failed.
Error: Could not create output directory H:/projects/Render_Test/render
That's good to hear! About making progress that is, not about the error.
The HQueue Client service is unable to access mapped drive letters so that would explain why it complains about
H:
. I would wager that there is something in the .hip that is referencing a hard-coded H:
path.Here are a couple of things to check:
- Check the Outputt Picture parameter in the Mantra ROP. If it has a hard-coded
H:/
prefix, then try replacing it with a $HIP prefix instead.- Check the Advanced -> Create Directories parameter in the HQueue Render ROP. If there are any
H:/
directories listed therem then you can try replacing H:/
with $HQROOT or remove the directory entries altogether.Cheers,
Rob
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
SkippyLink
Thanks for the tip but I'm afraid that didn't work.
I can access the share through explorer (as you suggested) when logging onto the service with my local account but HQueue still throws up “ERROR: Cannot find file //myserver/HQueue/projects/Render_Test/RenderTest.hiplc”.
I should point out that the server and the local machine do use different passwords (same username) but I have no problem accessing the share through windows. It is a mapped network drive and i can also naviagate to it using both its name and IP address.
If i remember correctly, in the past the message that you would get was “Access Denied” if the service couldn't log on due to permissions. Here, it simply can't find the file.
Tried again with the batch file and it works.
“Access is Denied” is one manifestation of a permissions issue but I've also seen “Cannot find file” errors when the Log On account has limited networking privileges as well.
Just to confirm, you can access the network share in Windows File Explorer using the share's UNC path, right? So using “\\myserver\HQueue” instead of the mapped network drive.
Also, here are some other things to try/use:
- When specifying the Log On account in the dialog, try using the “Check username” button (I think that's what it's called, I don't have a Windows box in front of me) to verify and select the user account. It's interesting that you mentioned that there are 2 different user accounts with the same name. I recall another user running into conflicts between the local account and the network account. If I recall correctly, they had to specify the local machine name in the account name by clicking that button to get things working.
- Another option is to specify the server as an IP address instead of DNS, so “\\XX.XX.XX.XX\HQueue”, in case the service's user account still has some limited network privileges.
Also, regarding the Firefox issue. We cannot reproduce the problem in-house. Tested with Firefox 70.0.1. Silly question but does shift+click refreshing the page help?
Cheers,
Rob
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
drew
Grrrr….
After spending a few days investigating what was going on with H18 HQueue and submitting bug reports detailing how hqnode.ini files were being overwritten on startup, it's really frustrating to find out this has been moved into the web server. Why was this done? Why was nothing put into the configuration files mentioning the fact that they were now were being ignored. Nothing in the Whats New about HQueue changes.
Hi Drew,
The move to the web server was intended to make it easier for new users to configure their network folders. We had common complaints and questions about the discoverability of the settings in hqserver.ini and what the
hqserver.sharedNetwork.*
config keys should be set to. Moving the settings to the server meant we could present them in a more intuitive way and also bring them closer together with other management aspects of HQueue such as managing clients, groups and resources.We added an entry to the online Journals but you're right about the What's New and configuration. That's an oversight on our end and I sincerely apologize for that.
drew
I've spent a good deal of time building automated tools for:
- spinning up new linux VMs
- rolling out new versions of HQueue, keeping versions and configurations up to date
- installing hqnode clients that start on machine reboot, and restart on errors
- running up the web server on boot, _not_ as the root user
- creating a hquser on all the machines with the same uid/gid that allows a team to use HQueue without having the network mount completely open from a security standpoint
- not requiring someone to put passwords in for every client they add, frankly it's scary that the web server wants to ssh into machines and do stuff behind my back, and doesn't scale to a large number of nodes
So the new changes just seem to be going in the opposite direction. It's obviously not testable at the moment as evidenced by the fact that it was completely broken on day one of the H18 release. Philosophically I just don't think that HQueue should be developed in this direction, it seems to me un-Houdini like. When administering multiple machines there are much better tools for system orchestration than buggy web servers holding user passwords. Configuration should be in one place, clearly documented, updateable, and automatable. At least give system admins a chance to do things the right way. Sorry for the rant but I had to get this off my chest!
No worries Drew. You made some very good points. I'm actually very interested in understanding more about the automated processes you have to setup and configure your farm. I'll PM you and if you're up for it, I want to figure out a more system-administrator-friendly approach that still works with the new network folder management setup.
drew
BTW sometimes we have to nuke the server and database and start from scratch due to large render jobs being nearly impossible to delete. The server goes into 100% cpu and hours go by without a successful delete operation. I'm assuming that would mean putting the network shares back into the database by hand through the web GUI?
Yes, we've experienced the same problem in-house a couple of times though only with PDG jobs and when there's about 20000+ jobs that are active in the system. We're looking into some of the bottlenecks though some are architectural so we unfortunately won't be addressing them until the next release.
If/when the server gets into that state, could you take a snapshot of the database (i.e. ./hqueue/db/hqserver.db) and send it my way?
And yes, the only way to enter the network shares back into the database is through the web GUI or if you are willing, then to execute some SQL commands into sqlite. But let's see if we can come up with a cleaner, more automated solution instead.
Cheers,
Rob
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
SkippyLink
I tried the Network Folders tab on the Server page and was able to change the settings so the network folder error went away. So thanks for that! Don't know if it's a problem on my end, but using Firefox there were no feilds to change, but it worked with Chrome. See image below.
Ah, looks like an incompatibility with Firefox. I submitted a bug (101479) for this into our system.
SkippyLink
However, no matter what I tried, the job would fail with the error;
“Loading .hip file //myserver/HQueue/projects/Render_Test/RenderTest.hiplc.”
“ERROR: Cannot find file //myserver/HQueue/projects/Render_Test/RenderTest.hiplc”
Take a look at the HQueue Client service on your client machine. The service may be running with an account that doesn't have access to the network folder. Try changing the service's Log On account to say your Windows user account which I assume has access to the network folder (you can verify this by navigating to “\\myserver\HQueue” in Windows File Explorer).
After changing the Log On account, restart the service and see how that goes.
Cheers,
Rob
Technical Discussion » Custom Qt-based user interface for the parameter editor
- rvinluan
- 1255 posts
- Offline
Hi All,
You can embed a Qt interface into the Parameters Pane using Python Panels.
Check out the the help page for the Python Panel Editor:
https://www.sidefx.com/docs/houdini/ref/windows/pythonpaneleditor.html#interfaces-tab [www.sidefx.com]
If you scroll down a little in the help page then you'll see documentation on new Parameters Pane Hint options which appear in the Python Panel Editor.
So you can create a Python Panel and configure it to appear in the Parameters Pane for certain node operator types.
You will also want to implement the
I hope this helps.
Cheers,
Rob
You can embed a Qt interface into the Parameters Pane using Python Panels.
Check out the the help page for the Python Panel Editor:
https://www.sidefx.com/docs/houdini/ref/windows/pythonpaneleditor.html#interfaces-tab [www.sidefx.com]
If you scroll down a little in the help page then you'll see documentation on new Parameters Pane Hint options which appear in the Python Panel Editor.
So you can create a Python Panel and configure it to appear in the Parameters Pane for certain node operator types.
You will also want to implement the
onNodePathChanged(node)
hook in your Python Panel so that your panel is notified about which node Houdini wants to show. Documentation for the hook can also be found in the link above.I hope this helps.
Cheers,
Rob
Technical Discussion » Houdini 18 HQueue Error
- rvinluan
- 1255 posts
- Offline
Hi All,
The
For the network folder issues, there's a new Network Folders management section in the HQueue website (go to the “hamburger” menu in the top right corner and choose Network Folders). The section is a replacement for the settings in hqserver.ini and was designed to auto-migrate the network folder settings from hqserver.ini but it sounds like there's a bug in the migration process. In any case, if you enter your network folder settings in the web page, I wonder if that will resolve some of the issues.
As for the “hqueue could not retrieve network folders from 192.168.1.xxx:xxxx” error, we haven't encountered that before and are investigating as to how that can happen. I'll post here when we have an update.
Also, please avoid using the hqclientd.bat batch file on Windows. It's a legacy file that was a workaround for networking issues experienced in old HQueue Client versions. The file can actually cause issues when executed multiple times. We removed references to that file in the HQueue documentation and will likely remove that file altogether in a future release.
Cheers,
Rob
The
RPCException: Server returned error 500: b'
error is fixed in the daily builds. Unfortunately it wasn't detected until late in the release cycle and therefore was not fixed in time for the .287 gold build. Please use the daily builds for the HQueue server and clients.For the network folder issues, there's a new Network Folders management section in the HQueue website (go to the “hamburger” menu in the top right corner and choose Network Folders). The section is a replacement for the settings in hqserver.ini and was designed to auto-migrate the network folder settings from hqserver.ini but it sounds like there's a bug in the migration process. In any case, if you enter your network folder settings in the web page, I wonder if that will resolve some of the issues.
As for the “hqueue could not retrieve network folders from 192.168.1.xxx:xxxx” error, we haven't encountered that before and are investigating as to how that can happen. I'll post here when we have an update.
Also, please avoid using the hqclientd.bat batch file on Windows. It's a legacy file that was a workaround for networking issues experienced in old HQueue Client versions. The file can actually cause issues when executed multiple times. We removed references to that file in the HQueue documentation and will likely remove that file altogether in a future release.
Cheers,
Rob
Technical Discussion » PyQt/PySide QTableView, Houdini UI Palette and row colors
- rvinluan
- 1255 posts
- Offline
Houdini leans heavily on stylesheets to do the core styling of its Qt UI. Unfortunately what we have learned over time is that stylesheets make it much more difficult for end users to apply their own custom styling in general.
With the next major Houdini release we will begin moving away from stylesheets and towards using an application wide QStyle and QPalette to do the core styling. This should make it easier to apply custom styles.
For Houdini 17.5, typically the workaround is to apply local stylesheets on the widgets that will have customized looks. But in some cases the best and only way is to override the painting of the widget or item delegate.
Cheers,
Rob
With the next major Houdini release we will begin moving away from stylesheets and towards using an application wide QStyle and QPalette to do the core styling. This should make it easier to apply custom styles.
For Houdini 17.5, typically the workaround is to apply local stylesheets on the widgets that will have customized looks. But in some cases the best and only way is to override the painting of the widget or item delegate.
Cheers,
Rob
Technical Discussion » Which version of Python is best to work with H16 and forward?
- rvinluan
- 1255 posts
- Offline
garyo
I know this is an old thread, but is there any news on python3 support in Houdini 17? Since Python2 is being end-of-lifed very soon (https://pythonclock.org/) I'm hoping not to build my new tooling around it.
Hello,
There are no plans to bring Python 3 support to Houdini 17.0 or 17.5.
Our goal is to follow the VFX Reference Platform (http://vfxplatform.com/) and ideally have a tech preview (i.e. not production ready) Python 3 build later this year for the next major Houdini release and an official build next year.
Cheers,
Rob
Houdini Indie and Apprentice » Can't export animation in FBX
- rvinluan
- 1255 posts
- Offline
xxyxxy
I wish they would just remove that menu-level option – I just lost time because in 17.5 Apprentice the menu-level option silently fails whereas the FBX ROP correctly warns you that FBX export is unsupported in Apprentice.
I fixed the bug on macOS and the Export FBX menu will be disabled in Houdini Apprentice starting in tomorrow's 17.5.245 build.
Cheers,
Rob
Houdini Indie and Apprentice » Pose library error and crash
- rvinluan
- 1255 posts
- Offline
Hello,
FYI that the
Cheers,
Rob
FYI that the
'cleanup'
error is fixed in tomorrow's 17.0.500 build. I'm not sure if that will also fix the hanging/crashing problem but you can give tomorrow's build a try and see.Cheers,
Rob
Technical Discussion » RHEL/CentoOS and Houdini support
- rvinluan
- 1255 posts
- Offline
nichimen-75
Hi,
From what I understand a more recent version (6.3.1) is necessary only if you plan to write plug-ins;
Cheers,
Luca
Hi Luca,
That is correct. You only need to worry about the gcc version requirement if you plan on building plug-ins for Houdini. If you are simply running Houdini, then you can ignore the “gcc X.Y is required” part.
Cheers,
Rob
Technical Discussion » Linux Ubuntu 18.04 LTS
- rvinluan
- 1255 posts
- Offline
Hello,
If it helps, we have 5+ people here in the office that are on Ubuntu 18.04 LTS and they haven't hit any platform-specific crashes or issues in Houdini.
Cheers,
Rob
If it helps, we have 5+ people here in the office that are on Ubuntu 18.04 LTS and they haven't hit any platform-specific crashes or issues in Houdini.
Cheers,
Rob
Technical Discussion » Using PyQt5 for python panels
- rvinluan
- 1255 posts
- Offline
Hello,
The “DLL load failed: cannot find specified procedure” error is likely due to a compiler version mismatch. Unfortunately on Windows, it is only possible to import compiled Python modules that are compiled with the same Visual Studio compiler version that Houdini is compiled with.
So for Houdini 16.5, the PyQt5 modules must be compiled with Visual Studio 2015 in order for them to work in Houdini.
If you can find pre-built MSVC2015 PyQt5 modules then that would be best. Otherwise you would need to compile PyQt5 from source using MSVC2015 which can be a pain.
The other option is to just use PySide2 which ships with Houdini. The PySide2 API is practically the same as PyQt5.
Cheers,
Rob
The “DLL load failed: cannot find specified procedure” error is likely due to a compiler version mismatch. Unfortunately on Windows, it is only possible to import compiled Python modules that are compiled with the same Visual Studio compiler version that Houdini is compiled with.
So for Houdini 16.5, the PyQt5 modules must be compiled with Visual Studio 2015 in order for them to work in Houdini.
If you can find pre-built MSVC2015 PyQt5 modules then that would be best. Otherwise you would need to compile PyQt5 from source using MSVC2015 which can be a pain.
The other option is to just use PySide2 which ships with Houdini. The PySide2 API is practically the same as PyQt5.
Cheers,
Rob
Technical Discussion » Hqueue can only write images in $JOB or $HIP directory?
- rvinluan
- 1255 posts
- Offline
Hello!
What version of Houdini/HQueue are you using? The $HIP/$JOB check was first put in as a way to ensure that jobs sent to the farm wouldn't fail because of a bad or non-existent folder path. It was a very common mistake back in the day for someone to enter a local hard drive path into the Output Picture parameter and then submit a job on the farm that didn't know anything about the local path.
But the $HIP/$JOB check was recently removed starting in build 16.5.350.
So you could try the latest H16.5 production build to get around the error.
As for your setup, with build 16.5.350+ it should be possible. You just need to additionally:
- Configure your Mantra ROP to write out .ifds.
- Turn *off* the Generate IFDs option on the HQueue Render ROP.
- And depending on how many Houdini licenses you have available in your network for IFD generation, check on the “Batch All Frames in One Job” parameter under the Advanced tab of the HQueue Render ROP. Or play around with the “Frames per Job” parameter in the same area.
I hope this helps.
Cheers,
Rob
What version of Houdini/HQueue are you using? The $HIP/$JOB check was first put in as a way to ensure that jobs sent to the farm wouldn't fail because of a bad or non-existent folder path. It was a very common mistake back in the day for someone to enter a local hard drive path into the Output Picture parameter and then submit a job on the farm that didn't know anything about the local path.
But the $HIP/$JOB check was recently removed starting in build 16.5.350.
So you could try the latest H16.5 production build to get around the error.
As for your setup, with build 16.5.350+ it should be possible. You just need to additionally:
- Configure your Mantra ROP to write out .ifds.
- Turn *off* the Generate IFDs option on the HQueue Render ROP.
- And depending on how many Houdini licenses you have available in your network for IFD generation, check on the “Batch All Frames in One Job” parameter under the Advanced tab of the HQueue Render ROP. Or play around with the “Frames per Job” parameter in the same area.
I hope this helps.
Cheers,
Rob
Technical Discussion » QDoubleSpinBox not consistent with hou.ui.stylesheet
- rvinluan
- 1255 posts
- Offline
Hi Michal,
It's likely that there is no style specified for QDoubleSpinBox in the Houdini Qt style sheet.
Feel free to submit a bug for that issue:
https://www.sidefx.com/bugs/#/create/ [www.sidefx.com]
The workaround is to make a copy of $HFS/houdini/config/Styles/base.qss, paste it into $HOME/houdini16.5/config/Styles/base.qss and then add QDoubleSpinBox styles in the pasted file.
Cheers,
Rob
It's likely that there is no style specified for QDoubleSpinBox in the Houdini Qt style sheet.
Feel free to submit a bug for that issue:
https://www.sidefx.com/bugs/#/create/ [www.sidefx.com]
The workaround is to make a copy of $HFS/houdini/config/Styles/base.qss, paste it into $HOME/houdini16.5/config/Styles/base.qss and then add QDoubleSpinBox styles in the pasted file.
Cheers,
Rob
Technical Discussion » Python hou.Parm.keyframesBefore output?
- rvinluan
- 1255 posts
- Offline
Hello,
You can ignore the output to console. There was a debug print out that was accidentally left in the code.
I've removed the print out starting in tomorrow's 16.5.431 build.
Cheers,
Rob
You can ignore the output to console. There was a debug print out that was accidentally left in the code.
I've removed the print out starting in tomorrow's 16.5.431 build.
Cheers,
Rob
Technical Discussion » Problem with Custom Shelf Tool Python Window
- rvinluan
- 1255 posts
- Offline
Hello,
I think I have run into this issue before. It has to do with the lifespan of Python variables and PySide/shiboken deciding what it owns and what it can delete. It's a long explanation but here are a couple of workarounds you can try.
1) Assign the result of
2) Alternatively, don't parent to the main window. Instead assign your dialog to a variable that lives past the lifetime of the shelf tool's Python context. For example:
I hope this helps.
Cheers,
Rob
I think I have run into this issue before. It has to do with the lifespan of Python variables and PySide/shiboken deciding what it owns and what it can delete. It's a long explanation but here are a couple of workarounds you can try.
1) Assign the result of
hou.ui.mainQtWindow()
to a variable that lives past the lifetime of the shelf tool's Python context. For example:hou.session.mainWindow = hou.ui.mainQtWindow() dialog.setParent(hou.session.mainWindow, QtCore.Qt.Windows)
2) Alternatively, don't parent to the main window. Instead assign your dialog to a variable that lives past the lifetime of the shelf tool's Python context. For example:
hou.session.dialog = dialog
I hope this helps.
Cheers,
Rob
-
- Quick Links