Python: AttributeError: 'module' object has no attribute 'AddReference'?

问题描述 投票:0回答:4

我正在尝试使用 clr.AddReference 和 clr.AddReferenceToFile 导入程序集,但 python(2.7) 一直出现此错误:

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    clr.AddReference("UnityEngine")
AttributeError: 'module' object has no attribute 'AddReference'

谁能告诉我如何解决这个问题。

python .net clr ironpython python.net
4个回答
38
投票

曾经遇到过这个问题。 有一个名为 clr 的包,而 pythonnet 包的别名也是 clr。 所以我通过“pip uninstall clr”删除了

clr
,然后通过'pip install pythonnet'安装了
pythonnet
。 最后,一切正常。


7
投票

您一定是使用了错误的“clr”模块。 删除它

pip uninstall clr

然后安装pythonnet

pip install pythonnet

3
投票

运行代码

import clr
dir(clr)

如果结果是 ['StyleBuilder', 'builtins', 'cached',....] 那么问题是您的 IDE 正在安装错误的 Clr 模块


0
投票

除了安装正常的clr之外,我犯的错误是我用来测试python.net的小脚本被命名为pythonnet.py。因此,当 python.net 尝试加载自身时,它找到了我的脚本,问题随之而来。如果您收到此特定错误:

partially initialized module 'clr' has no attribute 'AddReference'

这可能就是原因。

© www.soinside.com 2019 - 2024. All rights reserved.