关于python 2.6 / 2.7软件包安装的困惑

时间:2015-07-20 20:38:19

标签: python-2.7 install package pip

我有一个最初安装了python 2.6的Redhat 6盒子(由/usr/bin/python调用)。几天前我安装了2.7.10(由/usr/local/bin/pythonpython调用)。

今天早些时候,我使用pip安装了sudo easy_install pipwhereis pip的结果是pip: /usr/bin/pip2.6 /usr/bin/pip

然后我想通过运行pandas来安装sudo pip install pandas包。它报告成功,但import pandas对两个版本的python都产生错误:

myPrompt 733] python
Python 2.7.10 (default, Jul 16 2015, 14:41:11) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pandas
>>> exit()

myPrompt 734] /usr/bin/python
Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pandas
>>> exit()

myPrompt 735] pip install pandas
Traceback (most recent call last):
  File "/usr/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pip==7.1.0

myPrompt 736] sudo pip install pandas
Enter PASSCODE:
Requirement already satisfied (use --upgrade to upgrade): pandas in /usr/lib64/python2.6/site-packages
Requirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/lib/python2.6/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): pytz>=2011k in /usr/lib/python2.6/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in /usr/lib64/python2.6/site-packages (from pandas)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/lib/python2.6/site-packages (from python-dateutil->pandas)

因此pip配置存在某种混淆,以及如何安装软件包。我怎么解开这个?我需要重新安装pip吗?

最终,我不关心python 2.6并且只想使用2.7

THX

3 个答案:

答案 0 :(得分:0)

看起来原因是我以root身份安装了这些软件包。做

sudo chmod -R ugo+rX /usr/local/lib/python2.7/site-packages

解决了问题

答案 1 :(得分:0)

作为参考,当您有多个Python安装时,例如通过brew,可能会发生这种情况。在这种情况下,删除一个:

brew remove python --force

这个适合我。

答案 2 :(得分:0)

可以使用以下答案中提供的步骤修复此案例:Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36

它只是用新的/正确的pip安装替换当前的pip安装(指的是新的/错误的python环境)。