【发布时间】:2017-03-13 08:36:18
【问题描述】:
当我从普通用户打开 python 时,我无法在终端中导入 python 模块(尽管它适用于 root 用户):
我得到的错误是这样的:
import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 180, in <module>
from . import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 58, in <module>
from numpy.testing.nosetester import _numpy_tester
File "/usr/lib/python2.7/dist-packages/numpy/testing/__init__.py", line 12, in <module>
from . import decorators as dec
File "/usr/lib/python2.7/dist-packages/numpy/testing/decorators.py", line 21, in <module>
from .utils import SkipTest
File "/usr/lib/python2.7/dist-packages/numpy/testing/utils.py", line 15, in <module>
from tempfile import mkdtemp, mkstemp
File "/usr/lib/python2.7/tempfile.py", line 32, in <module>
import io as _io
File "/home/praneeth/computervision/code/caffe-master/distribute/python/caffe/io.py", line 2, in <module>
import skimage.io
File "/home/praneeth/scikit-image/skimage/__init__.py", line 158, in <module>
from .util.dtype import *
File "/home/praneeth/scikit-image/skimage/util/__init__.py", line 1, in <module>
from .dtype import (img_as_float, img_as_int, img_as_uint, img_as_ubyte,
File "/home/praneeth/scikit-image/skimage/util/dtype.py", line 8, in <module>
dtype_range = {np.bool_: (False, True),
AttributeError: 'module' object has no attribute 'bool_'
所有模块都一样,不仅仅是 numpy。我已经尝试过其他类似问题中建议的解决方案,但没有奏效。例如: Cannot import a python module that is definitely installed (mechanize)
$PYTHONPATH 命令的输出是:
/home/praneeth/computervision/code/caffe-master/distribute/python/caffe:/home/praneeth/computervision/code/caffe-master/python/caffe:/usr/lib/python2.7/dist-包/
另外,我没有root权限的系统路径是:
import sys
sys.path
['', '/home/praneeth/computervision/code/caffe-master/distribute/python/caffe', '/home/praneeth/computervision/code/caffe-master/python/caffe', '/usr/lib/python2.7/dist-packages', '/home/praneeth', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/home/praneeth/scikit-image', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0']
编辑1: 发现有root用户的sys.path与没有root用户的相同,除了那些caffe安装路径。这是 root 用户的结果:
sudo python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/home/praneeth/scikit-image', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat']
【问题讨论】:
-
如果我是你,我会尝试重新安装 Python
-
你可以为root用户添加
sys.path并发现差异吗?另外,请说明你是如何安装 python 和 numpy 的。 -
用 root 用户查看我的 edit1 的 sys.path。另外,我已经分别使用
sudo apt-get install python-numpy和sudo pip install numpy安装了numpy,并试了一下。两个都不行 -
奇怪!!甚至重新安装python实际上也不起作用。似乎问题出在Caffe安装上。我应该调查一下。
标签: python python-2.7 ubuntu python-import ubuntu-16.04