Python kivy入口点inflateRest2无法找到libpng16-16.dll

时间:2017-10-03 16:25:07

标签: python dll kivy

安装Kivy作为非管理员用户。 当我运行一个基本的hello World时,我得到了“找不到Python.exe入口点”这些细节:

  

程序入口点inflateRest2无法位于dll .... \ python2.7 \ shared \ sdl2 \ bin \ libpng16-16.dll“。kivy_1

当我点击没有时,没有任何东西加载。

谷歌搜索后我添加了这两个陈述:

import os
os.environ['KIVY_IMAGE'] = 'pil,sdl2'

现在当我运行它时,它仍会显示入口点错误但显示输出如下所示:Kivy_2

如何修复入口点问题?

感谢。

4 个答案:

答案 0 :(得分:0)

  1. 检查环境变量路径,删除其他python路径。
  2. 我的操作系统是Windows10。将 zlib1.dll 从C:\ Windows \ SysWOW64复制到C:\ Windows \ System32。
  3. 再次检查。

答案 1 :(得分:0)

就我而言,zlib1.dllC:\Users\[user]\Anaconda3\share\sdl2\bin\的文件大小与System32文件夹中具有相同名称的DLL的文件大小不匹配。我只是将DLL文件移动到System32并替换了旧文件。

答案 2 :(得分:0)

我遇到了同样的问题,我去了目录,发现文件名与提示符中显示的文件名不相等,因此请尝试更改其目录中的文件名。

答案 3 :(得分:0)

您可以使用此代码找到另一个dll

import ctypes.util
ctypes.util.find_library("zlib1.dll")

  

所以我找到了原因。英特尔在C:\ Program Files \ Intel \ WiFi \ bin \中引入自己的zlib1.dll,并将此目录添加到PATH。因此,每当与zlib链接的应用程序尝试在PATH中没有C:\ msys64 \ mingw64 \ bin的情况下执行时,它都会尝试加载此不包含该方法的zlib版本。真正的解决方案是探求Intel,并告诉他们停止做愚蠢的事情,例如用自己的东西困扰整个系统的PATH,但无论如何。只需将mingw64 zlib1.dll复制到您的应用程序目录中,然后将其命名为一天即可。

https://github.com/msys2/MINGW-packages/issues/813