繁体   English   中英

为什么我会得到`SystemError:<built-in method __contains__ of dict object at ...> 导入“pydrake”东西时返回带有错误集的结果?</built-in>

[英]Why do I get `SystemError: <built-in method __contains__ of dict object at ...> returned a result with an error set` when importing `pydrake` stuff?

FTR:这是我对 Drake Slack 对话的“公开档案”。


2019 年 9 月 17 日下午 2:44

(py36_pyro) gizatt@ProblemChild:~$ python
Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pydrake
>>> import pydrake.geometry
terminate called after throwing an instance of 'pybind11::error_already_set'
what():  SystemError: <built-in method __contains__ of dict object at 0x7f266bd23438> returned a result with an error set
Aborted (core dumped)

任何想法从哪里开始? 它只在导入pydrake.geometry时发生,我可以先导入pydrakepydrake.commonpydrake.multibody等,这些都可以正常工作。 Python 3.6 / Ubuntu 18.04 / 当前主机

15 回复

eric.cousineau 7 个月前

Python 3.6.9 |Anaconda, Inc.| (default, Jul 30 2019, 19:07:31)

我认为Anaconda部分可能是可疑的? (请参阅此处顶部的警告: https://drake.mit.edu/python_bindings.html

eric.cousineau 7 个月前 以前有用吗?

eric.cousineau 7 个月前你可以尝试通过/usr/bin/python3运行它,而不是 Anaconda 吗?

gizatt 7个月前我通过conda稳定使用了一段时间,这是新的

eric.cousineau 7 个月前嗯...你是用 Conda 自己构建的,还是下载预构建的?你知道它最后一次工作是什么时候吗?

eric.cousineau 7 个月前(更具体地说,master 的 SHA1?)

gizatt 7 个月前,我使用 conda python(我在那里运行的同一个)构建它,尽管没有 conda 环境来源——这在一段时间内工作正常。 破坏它的不是德雷克的升级——我怀疑我这边的一些配置调整揭示了一些东西。 当我在 Drake 上时它坏了……也许是一周大? 我升级了,但不知道我从什么升级(已编辑)

gizatt 7 个月前对不起,它是用/usr/bin/python3.6构建的,没有 conda envs 来源。 然后我采购了一个 conda env 并导入 drake 并将它与 conda python 一起使用,直到现在都很棒

eric.cousineau 7 个月前嗯...不知道如何在这里提供帮助...您是否以与pip兼容的方式使用conda 您可以只做纯virtualenv并完全避免 conda 吗? (我们正在使用来自pippyro和其他东西,它工作得很好。)(编辑)

eric.cousineau 7 个月前另外,Ubuntu(我的机器上的 3.6.8)和 Conda(你的机器上的 3.6.9)上的python3 --version可能有区别吗? (已编辑)

gizatt 7 个月前我在 conda 中对版本进行了降级,现在版本至少是一致的

gizatt 7 个月前我一次移动了几件东西,所以我还不确定罪魁祸首,但我已经确定,如果我尝试从我的主目录导入pydrake.geometry与我的 python3.6 版本中的任何一个,我得到问题,但如果我从其他任何地方这样做,那很好。 (已编辑)

gizatt 7 个月前我只是呃...把这归结为一些导入路径 bs 并称之为解决?

eric.cousineau 7 个月前SGTM,虽然这听起来像是一个神奇的路径阴影问题,就像你的主目录中有一个pydrake文件夹? (已编辑)

eric.cousineau 7 个月前(此外,一些软件包订阅了从setup.py或 whatevs 安装*.pth文件的邪恶,这与sys.path混淆......所以也许这取决于解释器从哪里开始?)

这里的直接修复是降级 Conda 的 Python 版本以匹配pydrake的编译版本,并确保没有其他解释器被获取。

目前(2020/04/25), pydrake没有正式编译也没有测试过 - 使用conda / anaconda ,所以可能存在未知问题。 如果可能,我们(Drake 开发人员)建议不要使用它,但如果您这样做,目前您将自行承担风险。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM