[Mac] 在 python 中可以匯入的模組,在 ipython 中無法匯入?
最近用 pip 裝好了 yappi 這個 profiling 的模組,
用 python 來 import 沒有問題:
testuser@localhost ~ $ python
>>> import yappi
>>>
不過用 ipython 來 import,就說找不到:
testuser@localhost ~ $ ipython In [1]: import yappi --------------------------------------------------------------------------- ImportError Traceback (most recent call last) <ipython-input-1-2ae58b5c5dd8> in <module>() ----> 1 import yappi ImportError: No module named yappi
覺得有點奇怪,以前從來沒有遇過這種問題…
先 import os 來看一下 os 模組各別是放在哪,結果兩邊是不一樣的:
testuser@localhost $ ipython In [1]: import os In [2]: os.__file__ Out[2]: '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc' testuser@localhost $ python >>> import os >>> os.__file__ '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc'
應該是因為兩邊的 python lib 的位置不一樣,所以讀到不同的模組,
因此裝到 python 那邊的 yappi,ipython 才會讀不到…
而這 /usr/local/Cellar 這目錄是 Homebrew 的專用目錄,
不知道是不是用 Homebrew 安裝 python 之後出現的問題…
查了一下 ipython 現在的版本,是比 pip 裡的要舊,
決定把 ipython 移掉重裝看看:
sudo pip uninstall ipython sudo pip install ipython
重裝之後,os 模組的位置和 python 的一樣了,而且也可以 import yappi 模組囉:
In [1]: import os In [2]: os.__file__ Out[2]: '/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.pyc' In [3]: import yappi In [4]: yappi.__file__ Out[4]: '/usr/local/lib/python2.7/site-packages/yappi.pyc'
(本頁面已被瀏覽過 754 次)