首页 文章

尝试在Python 3.5中运行Sanic应用程序的未定义符号

提问于
浏览
0

当我尝试使用Python 3.5运行Sanic应用程序时,我收到以下错误:

Traceback (most recent call last):
  File "api.py", line 1, in <module>
    from sanic import Sanic
  File "/home/shiro/dev/unassociated/user-api/.venv/lib/python3.5/site-packages/sanic/__init__.py", line 1, in <module>
    from sanic.app import Sanic
  File "/home/shiro/dev/unassociated/user-api/.venv/lib/python3.5/site-packages/sanic/app.py", line 14, in <module>
    from sanic.handlers import ErrorHandler
  File "/home/shiro/dev/unassociated/user-api/.venv/lib/python3.5/site-packages/sanic/handlers.py", line 14, in <module>
    from sanic.response import text, html
  File "/home/shiro/dev/unassociated/user-api/.venv/lib/python3.5/site-packages/sanic/response.py", line 3, in <module>
    from ujson import dumps as json_dumps
ImportError: /home/shiro/dev/unassociated/user-api/.venv/lib/python3.5/site-packages/ujson.cpython-35m-x86_64-linux-gnu.so: undefined symbol: Buffer_AppendShortHexUnchecked

它在使用命令 virtualenv -ppython3.5 .venv --no-site-packages 创建的虚拟环境中运行

我在gentoo上,但我重新编译了所有相关的包,我不知道如何解决这个问题 . 有人可以帮忙吗?

1 回答

  • 0

    我知道这是一个黑客,它并不漂亮,但这是我在安装Matrix的Synapse服务器(RIOT聊天)时解决我的问题的方法 . 在virtualenv中,它从pip中下拉预编译的共享对象 . 所以我从portage安装了ujson并复制了virtaulenv中的共享对象 .

    我希望这可以帮助你 .

相关问题