Kli*_*One 2 linux plc python-2.7 raspbian snap7
我在 Raspberry Pi 修订版 B 上运行 Rrapbian。
我按照此网页上的说明下载了模块 python-snap7:Snap7 Installation
我尝试了两次:一次使用 pip,另一次手动执行。但是,我通过setup.py build然后 安装了它setup.py install。
如果我尝试创建客户端,则会出现以下错误:
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import snap7
>>> c = snap7.client.Client()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/snap7/client.py", line 29, in __init__
self.library = load_library()
File "/usr/local/lib/python2.7/dist-packages/snap7/common.py", line 48, in load_library
return Snap7Library(lib_location).cdll
File "/usr/local/lib/python2.7/dist-packages/snap7/common.py", line 40, in __init__
raise Snap7Exception(msg)
snap7.exceptions.Snap7Exception: can't find snap7 library. If installed, try running ldconfig
Run Code Online (Sandbox Code Playgroud)
收到此错误后,我执行了以下操作:
我在文件中添加了一些行,如下所示:
include /etc/ld.so.conf.d/*.conf
include /usr/local/lib/python2.7/dist-packages/snap7-full-1.2.1/
include /usr/local/lib/python2.7/dist-packages/snap7-full-1.2.1/release/Linux/ARMHF/Raspberry/
include /usr/local/lib/python2.7/dist-packages/snap7-full-1.2.1/src/lib/
include /usr/local/lib/python2.7/dist-packages/snap7-python/build/lib.linux-armv6l-2.7/snap7/
include /usr/local/lib/python2.7/dist-packages/snap7-python/
Run Code Online (Sandbox Code Playgroud)
然后我发出了sudo ldconfig更新缓存文件的命令/etc/ld.so.cache,但错误仍然存在:(
include每行的格式进行说明是否正确?抱歉我的英语,并提前致谢!
看起来你没有安装 SNAP7 库(它不包含在 python-snap7 中)
要在带有 python-snap7 包装器的 Raspberry Pi 上使用 snap7 库,您需要执行以下步骤:
下载 SNAP7 库,例如:snap7-full-1.2.1
在 Pi 命令行中:
wget http://sourceforge.net/projects/snap7/files/1.2.1/snap7-full-1.2.1.tar.gz/download
在 Pi 命令行中解压下载的文件:
tar -zxvf snap7-full-1.2.1.tar.gz
在 Pi 命令行中为树莓编译库(arm_v6_linux.mk用于 RPI 1。对于 RPI 2 使用arm_v7_linux.mk)
:
cd snap7-full-1.2.1/build/unix && sudo make -f arm_v6_linux.mk all
将编译后的库复制到
Pi 命令行中的lib目录
:
sudo cp ../bin/arm_v6-linux/libsnap7.so /usr/lib/libsnap7.so
sudo cp ../bin/arm_v6-linux/libsnap7.so /usr/local/lib/libsnap7.so
(可选)如果
在 Pi 命令行中没有安装 python pip :
sudo apt-get install python-pip
在 Pi 命令行中为 SNAP7 lib 安装 python 包装器:
sudo pip install python-snap7