【问题标题】:PYTHONPATH Shared Library IssuePYTHONPATH 共享库问题
【发布时间】:2015-11-21 18:31:32
【问题描述】:

我是一个长期的潜伏者,第一次发帖所以请温柔。

我已经使用 Python 几个月了,我一直在尝试安装一个名为 heatmap 的库,特别是 this fork。通过 zipfile 安装后,我可以很好地导入热图,但是当我尝试使用它时出现异常:

Exception Traceback (most recent call last) <ipython-input-14-ce255099c4d1> in <module>() ----> 1 map = heatmap.Heatmap()
C:\Users\Standalone\Anaconda3\lib\site-packages\heatmap\heatmap\heatmap.py in __init__(self, libpath)
     94 
     95         if not self._heatmap:
---> 96             raise Exception("Heatmap shared library not found in PYTHONPATH.")
     97 
     98     def heatmap(self, points, dotsize=150, opacity=128, size=(1024, 1024), scheme="classic", area=None, 
Exception: Heatmap shared library not found in PYTHONPATH.*

我尝试使用以下命令附加到 sys.path:

C:\Users\Standalone\Anaconda3\lib\site-packages\heatmap\ 和 C:\Users\Standalone\Anaconda3\lib\site-packages\heatmap\heatmap.py

但它不起作用。谁能向我解释如何解决这个问题?

我的系统资料:Windows 7 32 位,Python 3.4.3 作为 Anaconda 安装的一部分。

【问题讨论】:

  • 如您所见from the sources,该模块正在寻找一个名为cHeatmap-x86.dll(或类似名称,具体取决于平台)的文件。你有这样的文件吗?它在哪里?另外,“已通过 zipfile 安装” 是什么意思?什么压缩包?您是刚刚复制文件还是运行了setup.py 脚本?
  • 如果与路径设置有关,那么有趣的不是 PYTHONPATH,而是 .dll 文件的搜索路径。您应该检查提到的 dll 是否存在。
  • 回答问题:1) 要安装,我下载并解压缩了 zip 文件并从我的下载目录运行 python setup.py install 2) cHeatmap-x86.dll 不在安装的热图文件中首先,但我从 zipfile 的内容中复制了它,但仍然出现错误
  • @Tom: cHeatmap-x86.dll(很遗憾)不是 Python 扩展模块,因此不会使用 sys.path 查找它。你应该把它放在 Windows 寻找 DLL 文件的地方。

标签: python heatmap python-import pythonpath


【解决方案1】:

您的PYTHONPATH 中似乎需要cHeatmap-x86.dll,因此,虽然有热图,但根据消息来源,您需要加载一个额外的 dll 才能使其正常工作。

我不确定您是如何安装它的,简单浏览一下源码似乎表明作者已经意识到这个问题,并在打包产品时尝试解决它。无论如何,您基本上只需要在您的PYTHONPATH 中的某处添加cHeatmap-x86.dll。这可以是从您的站点包到当前目录的任何位置。

希望这会有所帮助。

【讨论】:

  • 我跑了: sys.path.append('C:\\Users\\Standalone\\Anaconda3\\Lib\\site-packages\\heatmap\\cHeatmap-x64.dll') 但是不幸的是仍然得到错误。还有什么我应该做的吗?
  • 不要将实际的 dll 添加到您的 sys.path 中。您应该添加 dll 所在的目录。 (在你的情况下'C:\\Users\\Standalone\\Anaconda3\\Lib\\site-packages\\heatmap\\')
  • 不,我担心它没有 - 我最终从 Github 上的一个单独的分支安装了一个文件!
猜你喜欢
  • 2012-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多