"ImportError" / "undefined symbol: PyFPE_jbuf" with pymssql



我目前正在尝试将Lambda作为Zappa(Python3.6)启动。在部署应用程序/在AWS端配置所有内容后,我运行以下命令在本地环境中测试该应用程序

zappa invoke production script.main

得到这个错误,

/tmp/virtualenv_name/pymssql.cpython-36m-x86_64-linux-gnu.so:未定义symbol:PyFPE_jbuf:ImportError

追踪(最近一次通话):文件"/var/task/handler.py",第509行,在lambda_handler中return LambdaHandler.lambda_handler(事件、上下文)

文件"/var/task/handler.py",第237行,在lambda_handler中handler=cls()

文件"/var/task/handler.py",第129行,在initself.app_module=importlib.import_module(self.settings.app_module)中

文件"/var/lang/lib/python3.6/importlib/init.py",第126行,在>import_module中return bootstrap_gcd_import(名称[级别:],包,级别)

_gcd_import 中的文件"冻结的importlib_bootstrap",第978行

文件"冻结的importlib_bootstrap",第961行,在_find_and_load 中

文件"冻结的importlib_bootstrap",第950行,在_find_and_load_unlocked 中

文件"冻结的importlib_bootstrap",第655行,在_load_unlocked 中

exec_module 中的文件"冻结的importlib_bootstrap_external>",第678行

_call_with_frames_removed 中的文件"冻结的importlib_bootstrap",第205行

文件"/tmp/virtualenv_name/script.py",第3行,在>模块中

导入pymssql

导入错误:/tmp/virtualenv_name/pymssql.cpython-36m-x86_64-linux-gnu.so:未定义符号:PyFPE_jbuf

我读到的PyFPE_jbuf的大多数问题似乎都涉及到某个依赖项的多个安装,但似乎没有一个解决方案适用于此。到目前为止我已经试过了,

  1. 在我的虚拟环境中卸载并重新安装pymssql,并运行zappa update
  2. 卸载并重新安装包含pymssql的其他包/库(如sqlalchemy),并运行zappa update
  3. 取消部署项目,执行1和2,然后重新部署
  4. 在我的虚拟环境中卸载和重新安装cython,并运行zappa update

    我对这个错误的理解正确吗?有什么故障排除建议吗?修复?

谢谢!

我在anaconda环境中尝试安装dragnetspacy时遇到了类似的问题。我相信pip install使用的是一个缓存文件,该文件是使用另一个gcc版本编译的。解决我问题的方法是卸载库,然后使用--no-cache-dir标志重新安装它,例如pip install dragnet --no-cache-dir,它通过为新环境运行setup.py从头开始构建包。

还要注意,您可能需要运行sudo apt install libxml2-dev libxslt-dev python-dev才能成功构建(至少对于dragnetspacy,但您可能需要其他东西)

相关内容

  • 没有找到相关文章

最新更新