[英]can't find snap7 library - linux
我在Raspberry Pi版本B上運行Rapbian。
我按照此網頁上的說明下載了模塊python-snap7: Snap7安裝
我嘗試了兩次:一次使用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
收到此錯誤后,我進行了以下操作:
我在文件中添加了幾行,因此如下所示:
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/
然后我發出命令sudo ldconfig
來更新緩存文件/etc/ld.so.cache
,但錯誤仍然存在:(
include
指令對嗎? 對不起,我的英語,謝謝!
好像您沒有安裝SNAP7庫(python-snap7中未包含該庫)
要將Raspberry Pi上的snap7庫與python-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
為樹莓編譯庫( arm_v6_linux.mk
用於RPI 1.對於RPI 2使用arm_v7_linux.mk
)
在Pi命令行中:
cd snap7-full-1.2.1/build/unix && sudo make -f arm_v6_linux.mk all
將編譯的庫復制到lib
目錄
在Pi命令行中:
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
(可選)如果沒有,請安裝python pip
在Pi命令行中:
sudo apt-get install python-pip
為SNAP7 lib安裝python包裝器
在Pi命令行中:
sudo pip install python-snap7
您尚未安裝snap7庫,這就是您有此問題的原因。
為了解決此問題,建議您以適當的方式安裝它。 我在下面描述的是一種駭人聽聞的駭客方式,但我還沒有時間做得更好。
快速修復可以
make -f x86_64_linux.mk all
cp ../../build/bin/x86_64_linux /usr/local/lib/
我在此函數開始時添加了以下行: lib_location = "/usr/local/lib/libsnap7.so"
我有一個解決方案:
sudo chown -R $USER /usr/local/lib/python2.7/dist-packages/snap7
授予編輯snap7
庫目錄中文件的權限。
然后在init下方編輯抱怨文件,並添加以下額外的一行:
def __init__(self):
lib_location='/usr/local/lib/libsnap7.so' # add this line here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.