我有一个最初安装了python 2.6的Redhat 6盒子(由/usr/bin/python
调用)。几天前我安装了2.7.10(由/usr/local/bin/python
或python
调用)。
今天早些时候,我使用pip
安装了sudo easy_install pip
。 whereis 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
答案 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环境)。