簡體   English   中英

python導入在一個終端中成功,但在另一個終端中失敗

[英]python import successful in one terminal but fails in another

我成功下載並安裝(構建+ 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文件)有關嗎? 如果成功導入,為什么下次會失敗?

在第二個終端中,您要在與第一個終端不同的目錄中運行Python。 這表明您構建的庫不在Python路徑中。 它在第一個終端中起作用,因為g2o庫位於您當前正在運行Python的目錄中。 按照Matthieu的建議,在您的PYTHONPATH環境變量中添加“〜/ OpenSource / python / g2opy”。

在〜/ .bashrc中,添加:

export PYTHONPATH=$PYTHONPATH:path/to/g2opy

然后運行source ~/.bashrc來更新當前路徑中的環境變量。

如果您是在本地安裝軟件包,則需要設置PYTHONPATH 好像沒有正確設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM