我成功地下载并安装了(build + make)一个cython包,g2opy。当我试着检查一切是否顺利时,我明白了:
(cv) clmno@machine:~/OpenSource/python/g2opy$ python
Python 3.4.5 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:47:47)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import g2o
>>> import numpy
>>> import cv2
所以,我假设一切都很好,并打开了另一个终端窗口。并尝试导入相同的模块,但失败:
(cv) clmno@machine:~$ python
Python 3.4.5 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:47:47)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import g2o
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'g2o'
这与共享库(.so文件)有关吗?如果成功导入,为什么下次会失败?
发布于 2018-10-10 20:06:51
在第二个终端中,您在与第一个终端不同的目录中运行Python。这表明您构建的库不是Python路径中的库。它在第一个终端中工作,因为g2o库位于当前运行Python的目录中。正如Matthieu建议的那样,在您的PYTHONPATH
环境变量中添加“~/OpenSource/python/g2py”。
在~/..bashrc中,添加:
export PYTHONPATH=$PYTHONPATH:path/to/g2opy
然后运行source ~/.bashrc
更新当前路径中的环境变量。
发布于 2018-10-10 20:02:02
如果在本地安装了包,则需要设置PYTHONPATH
。似乎它的设置不正确。
https://stackoverflow.com/questions/52747902
复制相似问题