python 导入在一个终端中成功,但在另一个终端中失败

我下载并安装(构建 + 制作)一个 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 文件)有关吗?如果成功导入,为什么下次会失败?


扬帆大鱼
浏览 301回答 2
2回答

翻阅古今

在第二个终端中,与第一个终端相比,您在不同的目录中运行 Python。这表明您构建的库不在 Python 路径中。它在第一个终端中工作,因为 g2o 库位于您当前运行 Python 的目录中。正如马修建议的那样,将“~/OpenSource/python/g2opy”添加到您的PYTHONPATH环境变量中。在 ~/.bashrc 中,添加:export&nbsp;PYTHONPATH=$PYTHONPATH:path/to/g2opy然后运行source ~/.bashrc以更新当前路径中的环境变量。

慕容3067478

如果您在本地安装了该软件包,则需要设置PYTHONPATH.&nbsp;好像没有设置好。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python