PyInstaller 警告:找不到库

PyInstaller WARNING: lib not found

我知道以前有人在这里问过这种类型的问题,但我没有找到有效的解决方案。我有一个 python 文件,我想在 Windows 10 上将其转换为 exe。我 运行 pyinstaller --onefile --noconsole myfile.py,它输出 很多 个警告:

C:\Users\conne\Desktop\Python >pyinstaller --onefile --noconsole normal.py
277 INFO: PyInstaller: 3.3.1
277 INFO: Python: 3.6.2
278 INFO: Platform: Windows-10-10.0.15063-SP0
279 INFO: wrote C:\Users\conne\Desktop\Python\normal.spec
280 INFO: UPX is not available.
283 INFO: Extending PYTHONPATH with paths
['C:\Users\conne\Desktop\python',
 'C:\Users\conne\Desktop\python']
283 INFO: checking Analysis
284 INFO: Building Analysis because out00-Analysis.toc is non existent
284 INFO: Initializing module dependency graph...
286 INFO: Initializing module graph hooks...
289 INFO: Analyzing base_library.zip ...
5055 INFO: running Analysis out00-Analysis.toc
5058 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
  required by c:\users\conne\appdata\local\programs\python\python36\python.exe
5145 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python.exe
5225 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python.exe
5298 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python.exe
5371 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python.exe
5442 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python.exe
5526 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\VCRUNTIME140.dll
5598 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\VCRUNTIME140.dll
5669 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\VCRUNTIME140.dll
5753 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\VCRUNTIME140.dll
5840 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\VCRUNTIME140.dll
6061 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6134 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6208 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6282 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6354 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6430 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6503 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6576 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6651 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6725 WARNING: lib not found: api-ms-win-crt-process-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6798 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6879 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\python36.dll
6882 INFO: Caching module hooks...
6892 INFO: Analyzing C:\Users\conne\Desktop\python meterpreter\normal.py
6898 INFO: Loading module hooks...
6899 INFO: Loading module hook "hook-encodings.py"...
7055 INFO: Loading module hook "hook-pydoc.py"...
7057 INFO: Loading module hook "hook-xml.py"...
7351 INFO: Looking for ctypes DLLs
7351 INFO: Analyzing run-time hooks ...
7360 INFO: Looking for dynamic libraries
7439 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7515 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7589 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7660 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7731 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7813 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7895 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
7968 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
8051 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
8133 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_ssl.pyd
8213 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\unicodedata.pyd
8286 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\unicodedata.pyd
8361 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\unicodedata.pyd
8440 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\pyexpat.pyd
8512 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\pyexpat.pyd
8585 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\pyexpat.pyd
8658 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\pyexpat.pyd
8741 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
8815 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
8887 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
8958 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9032 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9116 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9194 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9271 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9344 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_hashlib.pyd
9428 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_bz2.pyd
9501 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_bz2.pyd
9580 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_bz2.pyd
9651 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_bz2.pyd
9723 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_bz2.pyd
9801 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_lzma.pyd
9874 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_lzma.pyd
9959 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_socket.pyd
10030 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\_socket.pyd
10115 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\conne\appdata\local\programs\python\python36\DLLs\select.pyd
10123 INFO: Looking for eggs
10123 INFO: Using Python library c:\users\conne\appdata\local\programs\python\python36\python36.dll
10124 INFO: Found binding redirects:
[]
10128 INFO: Warnings written to C:\Users\conne\Desktop\python\build\normal\warnnormal.txt
10196 INFO: Graph cross-reference written to C:\Users\conne\Desktop\python\build\normal\xref-normal.html
10212 INFO: checking PYZ
10212 INFO: Building PYZ because out00-PYZ.toc is non existent
10213 INFO: Building PYZ (ZlibArchive) C:\Users\conne\Desktop\python\build\normal\out00-PYZ.pyz
10948 INFO: Building PYZ (ZlibArchive) C:\Users\conne\Desktop\python\build\normal\out00-PYZ.pyz completed successfully.
10958 INFO: checking PKG
10958 INFO: Building PKG because out00-PKG.toc is non existent
10959 INFO: Building PKG (CArchive) out00-PKG.pkg
12884 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
12887 INFO: Bootloader c:\users\conne\appdata\local\programs\python\python36\lib\site-packages\PyInstaller\bootloader\Windows-64bit\runw.exe
12887 INFO: checking EXE
12888 INFO: Building EXE because out00-EXE.toc is non existent
12888 INFO: Building EXE from out00-EXE.toc
12916 INFO: Appending archive to EXE C:\Users\conne\Desktop\python meterpreter\dist\normal.exe
13011 INFO: Building EXE from out00-EXE.toc completed successfully.

如您所见,exe 已成功创建,但 运行 它无法正常工作。

编辑: 我 运行 它启用了调试,显然它不能导入 ctypes,它会抛出一个名称错误。它仅在 运行 pyinstaller 时执行此操作,当 运行 作为 .py 文件时它工作正常。

由于某种原因,它在导入 ctypes 时抛出 NameError,将此行添加到 pyinstaller 命令解决了问题:--hidden-import ctypes

我 运行 解决了这个问题,none 记录的 pyinstaller 修复操作有效。我能够通过下载 DLL(我从 SDK 包中获取它们)并将它们复制到 system32 和 sysWOW64 来解决这个问题。所有程序现在都向后兼容!

26095 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:\users\user\appdata\local\programs\python\python36-32\DLLs\select.pyd

在C盘搜索dll,在pyinstaller命令中设置路径。以下命令修复了 windows 10:

中的上述 pyinstaller 错误
pyinstaller --paths C:\Windows\WinSxS\x86_microsoft-windows-m..namespace-downlevel_31bf3856ad364e35_10.0.17134.1_none_50c6cb8431e7428f hello.py

我在 system32/downlevel 和 syswow64/downlevel 中找到了 DLL,并将它们全部复制到各自的父文件夹(system32 和 syswow64)。 Ritesh Singh 的命令会做的事情。复制完还是不行重启试试

编辑:如评论中所述,在使用 pyinstaller 之前使用 set PATH=%PATH%;C:\Windows\System32\downlevel; 或将下层文件夹添加到环境变量中的路径可能是一个更好的主意。(未测试)

我刚刚在环境变量中添加了路径,它对我有用。

C:\Program Files (x86)\Windows Kits\Redist\ucrt\DLLs\x64

(或)

C:\Program Files (x86)\Windows Kits\Redist\ucrt\DLLs\x86

请注意,截至 2019 年 4 月 3 日,pyinstaller 3.5 的当前开发版本不会显示这些警告。 (3.5.dev0+g8c27d266)

pip install git+https://github.com/pyinstaller/pyinstaller.git

您需要根据您的系统架构安装以下 Visual C++ 软件包之一。


最新支持的 Visual C++ 下载

Visual Studio 2015、2017 和 2019


下载Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019. The following updates are the latest supported Visual C++ redistributable packages for Visual Studio 2015, 2017 and 2019. Included is a baseline version of the Universal C Runtime see MSDN了解详情。

注意 Visual C++ 2015、2017 和 2019 都共享相同的可再发行文件。

例如,安装 Visual C++ 2019 可再发行组件也会影响使用 Visual C++ 2015 和 2017 构建的程序。但是,安装 Visual C++ 2015 可再发行组件不会替换由 Visual C++ 2017 和 2019 可再发行组件安装的较新版本的文件。

这与所有以前的 Visual C++ 版本不同,因为它们每个都有自己独特的运行时文件,不与其他版本共享。

Visual Studio 2013 (VC++ 12.0)


有关详细信息,请参阅 C++ Runtime for Sideloaded Windows 8.1 apps on the VC++ Team Blog

Visual Studio 2012 (VC++ 11.0)


下载Microsoft Visual C++ Redistributable Packages for Visual Studio 2012 Update 4。这是 Visual Studio 2012 最新支持的 Visual C++ 可再发行组件包。

Visual Studio 2010 (VC++ 10.0) SP1


Visual Studio 2008 (VC++ 9.0) SP1



Source

按照接下来的步骤解决"PyInstaller WARNING:lib not found:api-ms-win-crt SOLUTION"问题:

  1. 运行 命令提示符中的以下命令行或 windows power-shell
  2. pyinstaller --windowed --paths C:\Windows\System32\downlevel application_name.py

可以在 here MS 网站上找到更多信息。

当 pyinstaller 发出大量关于无法定位 Windows DLL 的警告时,您可能会检查它们是否位于以下两个位置之一:

C:\Windows\System32\downlevel
C:\Windows\SysWOW64\downlevel

您可以像这样将一个或两个添加到 PATH 变量,这些警告应该会消失:

set PATH=%PATH%;C:\Windows\System32\downlevel

我提到这个是因为它比像 Alex F 提到的那样查找 DLL 并将其复制到路径上的文件夹更容易。我还注意到一些您无法找到的 DLL 在我上面提到的文件夹中。