gpt4 book ai didi

python - pip install 编译成功后执行导入错误

转载 作者:行者123 更新时间:2023-12-04 19:13:59 26 4
gpt4 key购买 nike

我的烦恼

在干净的 Ubuntu 16.04 环境中,我想安装和使用 Crossbar.io。

我已经有从 ppa、virtualenv 安装 pypy并激活一个新的 pypy virtualenv。

通过命令 pip install crossbar 安装交叉开关时出现一些错误但使用此构建命令解决了:

pip install --no-cache-dir --global-option=build_ext --global-option="-I/usr/include/python2.7" crossbar

现在使用 crossbar version 启动横杆时我收到以下错误:
Traceback (most recent call last):
File "/home/visiboost/gmm_pypy_env2/bin/crossbar", line 11, in <module>
load_entry_point('crossbar==17.6.1.post3', 'console_scripts', 'crossbar')()
File "/home/visiboost/gmm_pypy_env2/site-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/home/visiboost/gmm_pypy_env2/site-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/home/visiboost/gmm_pypy_env2/site-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/home/visiboost/gmm_pypy_env2/site-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/home/visiboost/gmm_pypy_env2/site-packages/crossbar/controller/cli.py", line 62, in <module>
from crossbar.controller.node import _read_release_pubkey, _read_node_pubkey
File "/home/visiboost/gmm_pypy_env2/site-packages/crossbar/controller/node.py", line 44, in <module>
from nacl.signing import SigningKey
File "/home/visiboost/gmm_pypy_env2/site-packages/nacl/signing.py", line 19, in <module>
import nacl.bindings
File "/home/visiboost/gmm_pypy_env2/site-packages/nacl/bindings/__init__.py", line 17, in <module>
from nacl.bindings.crypto_box import (
File "/home/visiboost/gmm_pypy_env2/site-packages/nacl/bindings/crypto_box.py", line 18, in <module>
from nacl._sodium import ffi, lib
ImportError: unable to load extension module '/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so': /home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so: undefined symbol: _Py_NoneStruct

我尝试在启动前通过设置环境变量添加路径但没有成功:
export LD_LIBRARY_PATH=/usr/lib/python2.7/config-x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/

我的环境
  • Ubuntu 16.04/4.4.0-87-通用
  • Python 2.7.13(5.8.0+dfsg-2~ppa2~ubuntu16.04,2017 年 6 月 17 日,18:50:19)
  • [PyPy 5.8.0 与 GCC 5.4.0 20160609]
  • 来自/home/visiboost/gmm_pypy_env2/site-packages 的 pip 9.0.1 (python 2.7)

  • ldd 失败库的结果:
    ldd -r /home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so
    linux-vdso.so.1 => (0x00007fff31ddd000)
    libsodium.so.18 => /usr/lib/x86_64-linux-gnu/libsodium.so.18 (0x00007fe336153000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fe335f0c000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe335b41000)
    /lib64/ld-linux-x86-64.so.2 (0x0000564659a68000)
    undefined symbol: _Py_NoneStruct (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyObject_CallMethod (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyEval_RestoreThread (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyLong_FromVoidPtr (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyArg_UnpackTuple (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyErr_Occurred (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyImport_ImportModule (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyLong_FromUnsignedLong (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyInt_FromLong (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)
    undefined symbol: PyEval_SaveThread (/home/visiboost/gmm_pypy_env2/site-packages/nacl/_sodium.pypy-41-x86_64-linux-gnu.so)

    你有什么想法吗?

    最佳答案

    您不应该将 cpython header 与 pypy 一起使用,因此 --global-option="-I/usr/include/python2.7"是错的。如记录 herehere您可能需要安装 pypy-dev包,以便您可以使用 pypy 构建包,正如您所需要的 python-dev
    用python构建包。

    编辑:查看横杆 documentation , 他们不推荐使用 apt get完全没有,并且还建议从源代码编译 CPython,这就是为什么没有提及 python-dev 的原因。包裹。

    关于python - pip install 编译成功后执行导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45353737/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com