即使正确设置了PYTHONPATH,也无法导入numpy

问题描述:

使用pip我在主目录中安装了numpy。我将此路径添加到PYTHONPATH。但每当我做“导入numpy”时,它会导入安装在系统文件夹中的numpy。下面看到输出:即使正确设置了PYTHONPATH,也无法导入numpy

export PYTHONPATH=/Apps/users/hussaif1/python27 

[email protected]:/root # python 
Python 2.7.8 (default, May 19 2015, 02:50:14) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import numpy 
>>> print numpy.version 
<module 'numpy.version' from '/opt/rh/python27/root/usr/lib64/python2.7/site-packages/numpy/version.pyc'> 
>>> 

[email protected]:/root # ll /Apps/users/hussaif1/python27 total 16 drwxr-xr-x 4 hussaif1 hussaif1 4096 Aug 16 09:25 ./ drwx------ 49 hussaif1 hussaif1 4096 Aug 16 09:20 ../ drwxr-xr-x 2 hussaif1 hussaif1 4096 Aug 16 09:38 bin/ drwxr-xr-x 3 hussaif1 hussaif1 4096 Aug 16 09:25 lib64/

我手动创建的文件夹python27和使用该命令来安装numpy的有:

PIP安装--install选项=“ - 前缀= /应用/ users/hussaif1/python27“--ignore-installed numpy

+0

也许你可以'进口sys',包括调用'sys.path'您例子的输出。这将有助于调查python使用的查找顺序。 – Lukisn

+0

我不确定你了解PYTHONPATH的实际含义。这个python27目录来自哪里?例如你是否用virtualenv创建它? python27/bin文件夹是否包含“python”可执行文件? – Gribouillis

+0

谢谢,这里是sys.path的输出: >>> import sys >>> print sys.path ['','/ Apps/users/hussaif1/python27','/ opt/rh/python27 /root/usr/lib64/python27.zip','/opt/rh/python27/root/usr/lib64/python2.7','/opt/rh/python27/root/usr/lib64/python2.7/plat -linux2','/opt/rh/python27/root/usr/lib64/python2.7/lib-tk','/opt/rh/python27/root/usr/lib64/python2.7/site-packages', '/opt/rh/python27/root/usr/lib64/python2.7/site-packages/PIL','/opt/rh/python27/root/usr/lib64/python2.7/site-packages/gtk-2.0 ','/opt/rh/python27/root/usr/lib/python2.7/site-packages', –

这是非常流行的问题。为了解决这个问题,我建议使用virtualenvs。使用virtualenv将使您能够轻松管理不同版本的已安装软件包。学习和使用也非常容易 - 基本上15分钟后你应该没问题。

+0

谢谢我会研究它。我的理解是可以使用PYTHONPATH指向已安装模块的非默认位置。 –

我把它通过添加完整路径站点包工作: