安装包后甚至无法导入

时间:2016-06-17 10:23:46

标签: python ubuntu numpy scipy scikit-learn

我安装了numpy,scipy,scikit learn和其他必需的软件包。仍然当我尝试在python中导入它们时,它显示没有找到模块。

pip install -U numpy scipy scikit-learn
Requirement already up-to-date: numpy in /usr/lib/python2.7/dist-packages
Collecting scipy
  Downloading scipy-0.17.1-cp27-cp27mu-manylinux1_x86_64.whl (39.5MB)
    100% |████████████████████████████████| 39.5MB 32kB/s 
Requirement already up-to-date: scikit-learn in /home/tecsadmin/.local/lib/python2.7/site-packages
Installing collected packages: scipy
  Found existing installation: scipy 0.17.0
    DEPRECATION: Uninstalling a distutils installed project (scipy) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling scipy-0.17.0:
Exception:
Traceback (most recent call last):
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/commands/install.py", line 317, in run
    prefix=options.prefix_path,
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/req/req_set.py", line 736, in install
    requirement.uninstall(auto_confirm=True)
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/req/req_install.py", line 742, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/home/tecsadmin/.local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/usr/lib/python2.7/shutil.py", line 303, in move
    os.unlink(src)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/dist-packages/scipy-0.17.0.egg-info'
tecsadmin@BLITZ:~/.local/lib/python2.7/site-packages/sklearn/__check_build$ python
Python 2.7.5 (default, Jun 17 2016, 04:41:21) 
[GCC 5.3.1 20160413] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>> 

更新

admin@BLITZ:~$ sudo pip install -U numpy scipy scikit-learn
[sudo] password for tecsadmin: 
The directory '/home/tecsadmin/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/tecsadmin/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already up-to-date: numpy in /usr/lib/python2.7/dist-packages
Collecting scipy
  Downloading scipy-0.17.1-cp27-cp27mu-manylinux1_x86_64.whl (39.5MB)
    100% |████████████████████████████████| 39.5MB 32kB/s 
Requirement already up-to-date: scikit-learn in ./.local/lib/python2.7/site-packages
Installing collected packages: scipy
  Found existing installation: scipy 0.17.0
    DEPRECATION: Uninstalling a distutils installed project (scipy) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
    Uninstalling scipy-0.17.0:
      Successfully uninstalled scipy-0.17.0
Successfully installed scipy-0.17.1
tecsadmin@BLITZ:~$ python
Python 2.7.5 (default, Jun 17 2016, 04:41:21) 
[GCC 5.3.1 20160413] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>> import scipy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named scipy

更新2

tecsadmin@BLITZ:~$ pip freeze | grep numpy 
numpy==1.11.0
tecsadmin@BLITZ:~$ pip freeze | grep scipy
scipy==0.17.1
tecsadmin@BLITZ:~$ pip freeze | grep scikit-learn
scikit-learn==0.17.1
tecsadmin@BLITZ:~$ python
Python 2.7.5 (default, Jun 17 2016, 04:41:21) 
[GCC 5.3.1 20160413] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named scipy
>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named numpy

2 个答案:

答案 0 :(得分:2)

不确定是否相关,但您遇到permission denied错误,请尝试使用 sudo pip install -U numpy scipy scikit-learn

要仔细检查您的安装运行pip freeze

$ pip freeze | grep numpy 
$ numpy==1.9.2

这样你真的可以检查它是否已成功安装

另外我建议您使用python虚拟环境https://virtualenv.pypa.io/en/stable/,这样就不必使用sudo权限了

答案 1 :(得分:1)

你没有安装你得到错误13的权限被拒绝。使用以下命令重新安装它们:

sudo pip install numpy scipy scikit-learn