首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Choregraphe中导入本地库

在Choregraphe中导入本地库
EN

Stack Overflow用户
提问于 2018-03-18 01:24:13
回答 1查看 629关注 0票数 1

我正在用choregraphe编写一个块的代码,我需要一些numpy和pillow库中的函数。我使用pip在行为的同一文件夹中安装了pillow和numpy。在我尝试过的块代码内的Choregraphe中:

代码语言:javascript
复制
from sys import path
path.append(ALFrameManager.getBehaviorPath(self.behaviorId))
from PIL import Image
from scipy import array, inf
from scipy.sparse.csgraph import shortest_path, csgraph_from_dense

我得到了这个错误:

代码语言:javascript
复制
ImportError: cannot import name _imaging

如果我注释这行

代码语言:javascript
复制
from PIL import Image

我得到了这个错误:

代码语言:javascript
复制
ImportError: 
Importing the multiarray numpy extension module failed.  Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try `git clean -xdf` (removes all
files not under version control).  Otherwise reinstall numpy.

Original error was: cannot import name multiarray

我尝试重新安装这两个库,但没有任何变化。我哪里错了?在同一个文件夹中也有一个我编写的类,但在导入时没有问题,我不明白为什么

EN

回答 1

Stack Overflow用户

发布于 2018-03-19 00:55:06

你是在机器人上运行这个吗(哪一个?哪个操作系统版本?),还是本地安装在您的计算机上?

如果它位于机器人上,则包中包含的库的.so文件(和其他二进制文件)很可能没有针对正确的体系结构进行编译。

一些可能性:

  • 使用机器人上已有的numpy (不会对scipy有帮助,我不认为它在机器人上,我可能错了)(如果PIL也在机器人上,我不会感到惊讶,我似乎记得见过它,但没有方便的机器人来检查)
  • 在NAOqi 2.5中,使用机器人上已有的pip;但首先你需要升级它:

pip安装--用户--升级pip

然后

/home/nao/.local/bin/pip install --user scipy (或您需要的任何其他包)

这样你就不需要把这些文件打包到你的choregraphe包中(但是你必须在你想要安装的所有机器人上执行相同的过程,这可能适合你的用例,也可能不适合你的用例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49339754

复制
相关文章

相似问题

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