似乎在运行时看到的 libffi 库的版本与在编译时看到的 'ffi.h' 文件不同
it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time
这个回溯搞乱了我所有的程序,我仍然无法修复它我已经尝试了所有的方法,但它没有帮助!
这是问题所在:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
它是 cffi python package issue. Try to download the source package tar.gz from https://pypi.org/project/cffi/#files 并使用以下方法手动安装它:
python setup.py install
我在自己构建 python 时在我的 Solaris 机器上遇到了同样的问题。
导出 PKG_CONFIG_PATH
已解决问题。
我刚刚进行了升级,现在错误消失了:
pip install --upgrade cffi xcffib
您可能必须在实际执行更新之前使用 su
(或 sudo su
),具体取决于您要定位的软件包设置。
PS:我在 Ubuntu 所以我在实际进行升级之前使用了 su
问题也可能在 python 版本 中。我正在使用 Fedora Linux,它总是比 gcloud
早一个 python 版本。所以我有 python3.10
然后我安装了 google-cloud-sdk
python3.9
支持并通过添加新路径将 google-cloud-sdk 指向那个版本的 python .bashrc
: export CLOUDSDK_PYTHON=python3.9
这发生在最近的一些 linux 发行版上 - PyPI 上发布的二进制轮与系统 libffi 不兼容。以下将重新安装包并在系统上本地构建它,而不使用在 PyPI 上发布的预编译二进制文件:
pip install --force-reinstall --no-binary :all: cffi
PS:可能需要安装 libffi-dev
(基于 .deb 的发行版,例如 Ubuntu 或 Debian)或 libffi-devel
(基于 .rpm 的发行版,例如 Fedora)在此之前。
这个回溯搞乱了我所有的程序,我仍然无法修复它我已经尝试了所有的方法,但它没有帮助!
这是问题所在:
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
它是 cffi python package issue. Try to download the source package tar.gz from https://pypi.org/project/cffi/#files 并使用以下方法手动安装它:
python setup.py install
我在自己构建 python 时在我的 Solaris 机器上遇到了同样的问题。
导出 PKG_CONFIG_PATH
已解决问题。
我刚刚进行了升级,现在错误消失了:
pip install --upgrade cffi xcffib
您可能必须在实际执行更新之前使用 su
(或 sudo su
),具体取决于您要定位的软件包设置。
PS:我在 Ubuntu 所以我在实际进行升级之前使用了 su
问题也可能在 python 版本 中。我正在使用 Fedora Linux,它总是比 gcloud
早一个 python 版本。所以我有 python3.10
然后我安装了 google-cloud-sdk
python3.9
支持并通过添加新路径将 google-cloud-sdk 指向那个版本的 python .bashrc
: export CLOUDSDK_PYTHON=python3.9
这发生在最近的一些 linux 发行版上 - PyPI 上发布的二进制轮与系统 libffi 不兼容。以下将重新安装包并在系统上本地构建它,而不使用在 PyPI 上发布的预编译二进制文件:
pip install --force-reinstall --no-binary :all: cffi
PS:可能需要安装 libffi-dev
(基于 .deb 的发行版,例如 Ubuntu 或 Debian)或 libffi-devel
(基于 .rpm 的发行版,例如 Fedora)在此之前。