如何在Python虚拟环境中安装snap7并使用Pyinstaller



我正试图用Pyinstaller从我的Python应用程序中创建一个可执行文件,所以我创建了一个虚拟环境,并安装了所有需要的包。

我还使用命令pip install python-snap7安装了snap7包装器。

如果我从我的终端运行python文件,它工作得很好。但是,当我使用Pyinstaller创建可执行文件并尝试运行它时,会出现以下消息,并且应用程序无法启动:

Traceback (most recent call last):
File "myapp.py", line 772, in <module>
File "myapp.py", line 751, in main
File "snap7client.py", line 64, in __init__
File "snap7common.py", line 72, in load_library
File "snap7common.py", line 63, in __init__
RuntimeError: can't find snap7 library. If installed, try running ldconfig
[22236] Failed to execute script 'myapp' due to unhandled exception!

也许我没有安装完整的snap7库(如中所写https://python-snap7.readthedocs.io/en/0.5/installation.html#snap7),但我不知道如何在Python虚拟环境中安装它

我已经找到了解决方法。当我运行.exe文件时,它会在Pyinstaller创建的临时文件夹(_MEI(和.exe文件的本地路径中搜索snap7.dll和snap7.lib。因此,我只需将snap7.dll和snap7.lib文件添加到运行.exe文件的本地路径中,它就可以工作了。

可以从下载库的最新版本来找到这些文件https://sourceforge.net/projects/snap7/files/

相关内容

最新更新