当我尝试使用Python和Cython的包装器安装ta-lib(最初用C编码的技术分析库)时,我收到一条错误消息“必须使用启用了unicode的python”。我已经尝试使用谷歌搜索无济于事。
以下是完整的错误消息:
C:\Python27\Lib\site-packages\ta-lib-master>python setup.py install
running install
running build
running build_ext
skipping 'talib.c' Cython extension (up-to-date)
building 'talib' extension
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox
/MD /W3 /GS- /DNDEBUG -IC:\Python27\lib\site-packages\numpy\core\include -Ic:\ms
ys\1.0\local\include -IC:\Python27\include -IC:\Python27\PC /Tctalib.c /Fobuild\
temp.win32-2.7\Release\talib.obj
talib.c
c:\python27\lib\site-packages\numpy\core\include\numpy\npy_common.h(85) : fatal
error C1189: #error : Must use Python with unicode enabled.
error: command '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.ex
e"' failed with exit status 2
答案 0 :(得分:0)
您的Python二进制文件是在禁用Unicode(configure --enable_unicode=no
)的情况下编译的。 NumPy 需要启用了Unicode支持的Python构建。
您必须安装一个启用它的设备(默认设置)。
如果您发现Python毕竟已启用Unicode(运行python
,请键入print u''
并且没有错误),那么构建系统无法从{{获取Python C标头1}}而不是。具体来说,C:\Python27\include
文件可能丢失了:
pyconfig.h
答案 1 :(得分:0)
我不确定您对代码有多少控制权 - 但是尝试使用numpy / ndarrayobject.h构建我自己的代码,解决方案是#include" Python.h"在包括ndarrayobject标题之前。