Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPS 2021 - AttributeError: 'module' object has no attribute 'LoadComponent' #120

Open
maltezc opened this issue Jan 25, 2022 · 3 comments
Open

Comments

@maltezc
Copy link

maltezc commented Jan 25, 2022

Hi all, I'm trying to get the rps debugger set up working for dynamo and am running into an error in my dynamo. If anyone has any other methods of debugging length dynamo code, please let me know.

I saw this post and have high hopes for this eventually happening

And also the same with this post

I'm trying to follow along with this post and this one but it seems to not be working. A youtube video going through the settings and setup for the necessary programs would be incredibly helpful.

So far, I've tried changing iron python engines in pyrevit as this was suggested but I haven't had any luck. Here is a snippet of all of my ironpython engine options if this helps.
image

Here are the versions of relevant programs I have installed:

  • PyCharm 2021.3.1 (Community Edition) installed.
  • Dynamo Core 2.6.1.8786
  • Dynamo Revit 2.6.1.8850
  • Revit 2021

Here is the error I'm getting:

Warning: IronPythonEvaluator.EvaluateIronPythonScript operation failed. Traceback (most recent call last): File "<string>", line 9, in <module> File "C:\Users\cmaltez\AppData\Roaming\Dynamo\Dynamo Revit\2.6\packages\RevitPythonWrapper\extra\rpw.zip\rpw\ui\forms\console.py", line 128, in __init__ AttributeError: 'module' object has no attribute 'LoadComponent'

image

Any and all help is appreciated!

@daren-thomas
Copy link
Member

I suggest looking at line 9 of that "Python Script" block. It should have an expression / statement including LoadComponent in it. And dynamo is complaining that it doesn't know what that's about. Are you missing an import statement?

Also, as far as I'm aware, pyRevit, RPS and dynamo are separate tools and your issue description seems to assume they're all somehow linked.

@maltezc
Copy link
Author

maltezc commented Jan 25, 2022

@daren-thomas , I agree that they are separate tools. I figured I'd try their suggestion anyways. Thanks for clarifying.

In the post i shared, it shows that Gui was able to get RPS to work as a dynamo debugger somehow by using pycharm. To be clear, this is what I'm trying to accomplish.

Apologies, I forgot to post the code inside the dynamo script. It is the same code used in the linked post. Here it is:

import sys
sys.path.append(IN[0]) # Assumes RPW_GetFilePath output is IN[0]

from rpw.ui.forms import Console

for i in range(10):
	if i ==5:
		Console(context=locals())

The error then refers to the console.py file. Here is the line its referring to:

self.ui = wpf.LoadComponent(self, StringReader(Console.LAYOUT))

image

@daren-thomas
Copy link
Member

@maltezc, ok, so I don't have a copy of Revit anymore and therefore won't be of much help with this issue for you. One thing that comes to mind is that you might be missing some .net assemblies. Application.LoadComponent is found in the PresentationFramework.dll - so maybe you need to load that. also, check what wpf is... is it really the System.Windows.Application?

A lot of debugging can be done with print statements. A poor man's debugger so to speak.

I'm sorry I can't help you any more than this, but I hope there are some other people here that can!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants