我是新手Haskell用户并且想要使用Python库(用于与现有软件交互,例如使用Numpy库)。我发现这可以使用MissingPy包(http://hackage.haskell.org/package/MissingPy)完成,但是我无法通过Haskell平台2010.2.0.0上的Windows 7上的cabal安装它。
我遇到的第一个错误是因为编译器没有找到python2.6库。这是通过将python2.6.dll放在正确的目录中(或将其添加到系统路径变量)来解决的。但是,我无法在“cabal install missingpy”命令的输出结束时修复以下错误:
...
[11 of 12] Compiling MissingPy.FileArchive.GZip ( MissingPy\FileArchive\GZip.hs, dist\build\MissingPy\FileArchive\GZip.p_o )
[12 of 12] Compiling MissingPy.FileArchive.BZip2 ( MissingPy\FileArchive\BZip2.hs, dist\build\MissingPy\FileArchive\BZip2.p_o )
Registering MissingPy-0.10.5...
setup.exe: MissingPy-0.10.5: library-dirs: None doesn't exist or isn't a
directory (use --force to override)
cabal: Error: some packages failed to install:
MissingPy-0.10.5 failed during the building phase. The exception was:
ExitFailure 1
在阅读Using c2hs on Windows上提出的问题答案的建议后,我安装了完整的MinGW软件。但是,这并没有解决问题。
任何人都有这个问题的经验和解决方案吗?
答案 0 :(得分:0)
请注意,Setup.exe使用python工具填充构建信息:
https://github.com/softmechanics/missingpy/blob/master/Setup.hs
相关代码在这里:
libDir <- python ["-c", "from distutils.sysconfig import *; print get_python_lib()"]
incDir <- python ["-c", "from distutils.sysconfig import *; print get_python_inc()"]
confLibDir <- python ["-c", "from distutils.sysconfig import *; print get_config_var('LIBDIR')"]
pyVersionStr <- python ["-c", "import sys; sys.stdout.write(\"%d.%d\" % (sys.version_info[0], sys.version_info[1]))"]
如果python工具不存在,无法找到或提供错误信息,则设置将失败。