首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到snap7库- linux

找不到snap7库- linux
EN

Stack Overflow用户
提问于 2014-06-21 16:25:21
回答 2查看 9.9K关注 0票数 2

我在Raspberry Pi修订版上运行Rapbian。

我按照这个网页上的指示下载了模块python-快照7:Snap7安装

我试了两次:一次用pip,另一次用手动。但是,我通过setup.py buildsetup.py install安装了它。

如果我试图创建一个客户端,则会得到以下错误:

代码语言:javascript
复制
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

在收到此错误后,我执行了以下操作:

我在文件中添加了一些行,如下所示:

代码语言:javascript
复制
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,但是错误仍然存在:(

  1. 在每一行中使用include指令正确吗?
  2. 有什么我不知道的关键错误吗?
  3. 我需要包括哪个图书馆?我只是想到了这里提供的那些:SourceForge链路。我选择了第一个.tar.gz包。

对不起,我的英语和感谢提前!

EN

回答 2

Stack Overflow用户

发布于 2014-08-18 14:12:25

您没有安装snap7库,这就是您有此问题的原因。

为了解决这个问题,我建议你以适当的方式安装它。下面我描述的是一种可怕的讨厌的方式,但我没有时间做得更好。

为了快速解决问题,你可以

  • 下载此:http://sourceforge.net/projects/snap7/files/1.1.0/
  • 在那里,而且
  • 在文件夹“build/unix”中
  • 运行命令make -f x86_64_linux.mk all
  • 然后是cp ../../build/bin/x86_64_linux /usr/local/lib/
  • 然后修改common.py以便手动指向'init‘函数中的'.so’文件

我在这个函数的开头添加了这一行:lib_location = "/usr/local/lib/libsnap7.so"

票数 1
EN

Stack Overflow用户

发布于 2017-07-04 19:07:55

我有个解决办法:

代码语言:javascript
复制
sudo chown -R $USER /usr/local/lib/python2.7/dist-packages/snap7

若要授予在snap7库目录中编辑文件的权限,请执行以下操作。

然后编辑抱怨文件,在init下面添加一行如下所示:

代码语言:javascript
复制
def __init__(self):
    lib_location='/usr/local/lib/libsnap7.so' # add this line here
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24343557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档