【问题标题】:msgpack._packer does not exist in anaconda installationanaconda 安装中不存在 msgpack._packer
【发布时间】:2014-11-29 13:46:11
【问题描述】:

我最近在 Windows 7 上将我的 python 安装从 python xy 更改为 anaconda 64 位。我尝试启动我构建的使用 msgpack-python 和 msgpack-numpy 的应用程序,但突然 msgpack-numpy 抛出导入时出错。

In [2]: import msgpack_numpy
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-4f549c7ad545> in <module>()
----> 1 import msgpack_numpy

C:\Anaconda\lib\site-packages\msgpack_numpy.py in <module>()
      7 import numpy as np
      8 import msgpack
----> 9 import msgpack._packer as _packer
     10 import msgpack._unpacker as _unpacker
     11

ImportError: No module named _packer

我检查过,我的 msgpack (0.4.2) 版本没有名为 _packer 或 _unpacker 的属性。奇怪的是,在我仍然运行 python xy 的另一台计算机上,msgpack 模块(也是 0.4.2 版)确实具有这些属性!

有什么线索可以解决这个问题吗?不知何故是 64 位问题?

【问题讨论】:

    标签: python numpy anaconda msgpack


    【解决方案1】:

    原来 msgpack 库是在没有 cython 的情况下构建的。运行 pip install 时出现以下错误:

    collect2.exe: error: ld returned 1 exit status
    WARNING: Failed to compile extensiom modules.
    msgpack uses fallback pure python implementation.
    command 'C:\\MinGW\\bin\\g++.exe' failed with exit status 1
    cythonize: 'msgpack/_packer.pyx'
    cythonize: 'msgpack/_unpacker.pyx'
    
    warning: no files found matching '*.c' under directory 'msgpack'
    Successfully installed msgpack-python
    Cleaning up...
    

    我会调查的。显然 _packer 和 _unpacker 是未正确构建的“扩展模块”,我现在有一个没有它们的纯 python 版本。

    【讨论】:

      猜你喜欢
      • 2016-12-23
      • 2016-03-08
      • 2020-03-24
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      相关资源
      最近更新 更多