这是我的第一个问题,希望不会是我的最后一个问题。因为我已经使用了很多人的一些答案,所以我想首先感谢你们所有人。
上下文:我正在为Revit开发一个模块,为此,我使用pyRevit与Revit API进行交换。Python允许我使用pyRevit编写代码,这是我使用PyCharm集成开发环境所做的。
问题:当我尝试导入库时,我得到一个“未解决的引用”错误信息。否则,该模块已在Revit上工作,因此在使用它时导入效果很好。
我已经尝试将文件夹的路径添加到Files --> Settings --> Project Interpreter --> Interpreter path,然后将该文件夹标记为源文件夹(右键单击-->将Directory标记为--> Source Root),然后使Cache / restart无效。路径为:
C:\Users\***\AppData\Roaming\pyRevit-Master\bin
C:\Program Files\Autodesk\Revit 2019
我也尝试在Files --> Settings --> Project Structure --> add Content root中添加这些文件夹。一旦完成,它们就会出现在项目根目录上。在这里,失败的导入在右侧(没有足够的声誉来发布图片,所以这里有一个链接)
Project structure and red imports
因此,所有内容都被标记为“未解析引用”,即使是系统导入。如何帮助Pycharm正确读取这些库,删除所有导入错误,并简化自动完成和开发?我想知道Revit库是否受到保护,但在这种情况下,它至少应该可以与pyRevit和System一起工作。
任何帮助都将不胜感激。
更新:在将Pyrevit文件夹添加到项目结构中并将其标记为源文件夹并单击文件-->无效缓存/重新启动后,pyRevit的导入是正常的。好消息。
对于Revit文件夹(以及微软的.NET库,如mscorlib (用于列表)),我假设它失败了,因为它们是从C#语言编译的。有没有办法用Python IDE在C#中导入库,或者至少识别内部结构和函数名称?
发布于 2019-10-07 17:14:37
https://github.com/gtalarico/ironpython-stubs
尝试使用clr、revit等自动编译这些存根。但是,它不包含pyRevit库。
在文件夹release on GitHub链接中找到存根并下载它。然后在PyCharm项目结构中引用该文件夹。
发布于 2020-10-21 22:59:11
看起来存根中有很多SyntaxError。你纠正他们了吗?如果没有,你是如何在不修改它们的情况下使文件工作的?
SyntaxeError示例:
File "C:\ironpython-stubs\release\stubs\System\__init__.py", line 7366
None = None
发布于 2021-11-18 15:51:22
由于您使用的是pyrevit,因此内置了存根生成器-这比ironpython存根更完整,并且可以在您使用的Revit版本上完成。
你可以在你自己的扩展中运行这个脚本,它应该可以工作。(注意-我已经通过GitHub上的安装程序安装了pyRevit )
将生成的文件添加到您的解释器中,您将拥有所有内容的存根。不过,我要指出的是,有时解释器无法理解您的元素类型(例如,即使您已经通过DB.FilteredElementCollector.OfClass(DB.FabricationPart).ToElements()获取了您的虚构元素,解释器也会对您使用.GetRodInfo()感到不安
https://stackoverflow.com/questions/58170807
复制相似问题