【问题标题】:Python for Naoqi (dynamic module not initialized properly)Python for Naoqi(动态模块未正确初始化)
【发布时间】:2016-10-11 09:51:02
【问题描述】:

大家好,我在使用 Python 和 Naoqi for Pepper 机器人时遇到问题。我已经为 NaoqiSDK 设置了正确的路径,当我运行“import naoqi”时出现此错误:

>>> import naoqi
Traceback (most recent call last):
File"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
 main()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
 known_paths = addusersitepackages(known_paths)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
user_site = getusersitepackages()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
USER_BASE = get_config_var('userbase')
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 520, in get_config_var
return get_config_vars().get(name)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 453, in get_config_vars
import re
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 108, in <module>
import _locale
SystemError: dynamic module not initialized properly

有没有人知道这件事,如何解决它?

如果能提供任何帮助,我将不胜感激。谢谢你

附:我在 OSX 上运行它

【问题讨论】:

  • 问题解决了吗?

标签: python robot nao-robot


【解决方案1】:

与运行任何 NAOqi 二进制文件类似,您可能需要在正确设置 DYLD_LIBRARY_PATH 和 DYLD_FRAMEWORK_PATH 的情况下运行 Python 解释器:

DYLD_LIBRARY_PATH=<installation_directory>/lib DYLD_FRAMEWORK_PATH=<installation_directory> PYTHONPATH=<installation_directory>/lib/python2.7/site-packages python

【讨论】:

    【解决方案2】:

    所以,我在pynaoqi-python2.7-2.5.5.5-mac64 上尝试import qi 时遇到了一个非常相似的问题。 这是终端日志:

    >>> import qi
    Traceback (most recent call last):
      File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 548, in <module>
        main()
      File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 530, in main
        known_paths = addusersitepackages(known_paths)
      File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 266, in addusersitepackages
        user_site = getusersitepackages()
      File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 241, in getusersitepackages
        user_base = getuserbase() # this will also set USER_BASE
      File "/usr/local/bin/../Cellar/python/2.7.12/bin/../Frameworks/Python.framework/Versions/2.7/lib/python2.7/site.py", line 231, in getuserbase
        USER_BASE = get_config_var('userbase')
      File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 520, in get_config_var
        return get_config_vars().get(name)
      File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/sysconfig.py", line 453, in get_config_vars
        import re
      File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/re.py", line 108, in <module>
        import _locale
    SystemError: dynamic module not initialized properly
    

    我做了两个修改,使 qi 的导入工作,但我不确定两者是否都是必要的:

    • 运行命令csrutil status 返回:System Integrity Protection status: enabled。我禁用它重新启动计算机并在恢复模式的终端中运行一些命令,然后重新启动计算机。

    • 从本文开头的日志中可以看出,我在 Traceback 的路径中有一个名为 /Cellar/ 的文件夹,它来自 Homebrew。碰巧的是,我没有使用计算机上的默认 python(运行 which python 确认),而是使用 Homebrew 的。

    【讨论】:

    • 嗨@standousset,如何禁用系统完整性保护状态?
    【解决方案3】:

    你必须使用从https://www.python.org/downloads/release/python-2710/直接下载的python2.7.10

    使用任何其他 2.7.10.* python 版本是不够的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-06
      • 2016-02-05
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      相关资源
      最近更新 更多