由于需要和朋友比对一个结果,需要在Windows 10中安装TA-Lib库,写点简单的python代码。
本来以为就简单的执行下pip install TA-Lib就OK了。
然后,安装失败:
1 2 | fatal error: ta-lib/ta_libc.h: No such file or directory compilation terminated. |
网上搜索,提示:This typically means that it can't find the underlying TA-Lib
library, a dependency which needs to be installed.
但是没有进一步说怎么安装TA-Lib库。于是翻看setup.py代码,发现如果是win32系统,会到C盘去找TA-Lib库
于是直接把ta-lib-0.4.0-msvc.zip里的 ta-lib/c 目录里的所有内容拷贝到c:\ta-lib\c 下。
执行pip install TA-Lib。
然后,安装还是失败:
1 2 3 4 5 6 7 8 9 | common.obj : warning LNK4197: export 'PyInit_common' specified multiple times; using first specification Creating library build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.lib and object build\temp.win-amd64-3.5\Release\talib\common.cp35-win_amd64.exp common.obj : error LNK2001: unresolved external symbol TA_SetUnstablePeriod common.obj : error LNK2001: unresolved external symbol TA_Shutdown common.obj : error LNK2001: unresolved external symbol TA_Initialize common.obj : error LNK2001: unresolved external symbol TA_GetUnstablePeriod common.obj : error LNK2001: unresolved external symbol TA_GetVersionString build\lib.win-amd64-3.5\talib\common.cp35-win_amd64.pyd : fatal error LNK1120: 5 unresolved externals error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64\\link.exe' failed with exit status 1120 |
链接错误。。。。。。翻看了一些ta-lib在github上的issue,里面提到ta-lib的C库是32位的。
但是pip安装的时候需要编译common.c,然后再和ta-lib的C库中的lib链接起来,问题就在这里了。github上有人建议重新在64位下编译ta-lib库来解决这个问题。
经过几番挣扎,最后的解决方法是:
开始 -> 所有程序 -> Mircosoft Visual Studio 2010 -> visual studio tools -> Visual Studio x64 win64 command prompt (2010)
在VS x64 win64命令行下,cd C:\ta-lib\c\make\cdr\win32\msvc 目录下,执行nmake
等执行完毕后,再运行pip install ta-lib, 这次终于成功了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构