2014-11-29 2 views
0

Я недавно поменял мою установку python с python xy на anaconda 64 бит на Windows 7. Я попытался запустить приложение, которое я создал, которое использует msgpack-python и msgpack-numpy, но внезапно msgpack-numpy вызывает ошибку при импорте.msgpack._packer не существует в установке anaconda

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-битная проблема?

ответ

0

Оказывается, библиотека msgpack была построена без использования cython. При запуске установки pip я получил следующую ошибку:

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 без них.

Смежные вопросы