我有一个通过 pyinstaller 构建的 exe 文件。除了 exe 文件之外,我还有一些 dll 和 pyd 文件。这些 pyd 文件是正在使用的库的文件,例如 pandas、numpy 等,
如何识别在创建 exe 的构建过程中捆绑了哪个版本的 pandas/numpy?
注意:我没有用于构建此命令的命令。我刚刚被告知这是使用 pyinstaller 完成的。我也没有构建此代码的机器。也没有任何requirements.txt 文件。我刚刚被告知要识别应用程序正在使用的库的版本。有什么方法可以识别吗?
您可以通过使用 pyinstxtractor 之类的工具提取 pyc 来反编译使用 pyinstaller 构建的 exe,然后您可以在这些文件上使用 Python 反编译器来获取 py 文件。在运行 pyinstxtractor 的过程中,如果您的版本不同,您将被告知所使用的 python 版本。此方法的好处是您还将看到 exe 中使用的所有库。
下载: pyinstxt拖拉机
安装反编译:
pip install uncompyle6
现在你可以运行了...
pyinstxtractor.py <file.exe>
这将输出 dll、pyc 以及与 exe 关联的其他文件。
如果你想读取 pyc 文件,你可以在它们上运行 uncompyle6 将它们转换为可读的 .py 文件。