关于 python 2.6/2.7 软件包安装的困惑
Confusion regarding python 2.6/2.7 package installations
我有一个 Redhat 6 盒子,最初安装了 python 2.6(由 /usr/bin/python
调用)。几天前我安装了 2.7.10(由 /usr/local/bin/python
或简单地 python
调用)。
今天早些时候,我使用 sudo easy_install pip
安装了 pip
。 whereis pip
的结果是 pip: /usr/bin/pip2.6 /usr/bin/pip
然后我想通过 运行 sudo pip install pandas
安装 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
感谢
看起来原因是我以 root 身份安装了软件包。正在做
sudo chmod -R ugo+rX /usr/local/lib/python2.7/site-packages
解决了问题
作为参考,当您有多个 Python 安装时可能会发生这种情况,例如通过 brew。在那种情况下删除一个:
brew remove python --force
这个为我修好了。
可以使用以下答案中提供的步骤解决此问题:Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36
它只是将当前的 pip 安装(指的是 new/wrong python 环境)替换为 fresh/correct 一个。
我有一个 Redhat 6 盒子,最初安装了 python 2.6(由 /usr/bin/python
调用)。几天前我安装了 2.7.10(由 /usr/local/bin/python
或简单地 python
调用)。
今天早些时候,我使用 sudo easy_install pip
安装了 pip
。 whereis pip
的结果是 pip: /usr/bin/pip2.6 /usr/bin/pip
然后我想通过 运行 sudo pip install pandas
安装 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
感谢
看起来原因是我以 root 身份安装了软件包。正在做
sudo chmod -R ugo+rX /usr/local/lib/python2.7/site-packages
解决了问题
作为参考,当您有多个 Python 安装时可能会发生这种情况,例如通过 brew。在那种情况下删除一个:
brew remove python --force
这个为我修好了。
可以使用以下答案中提供的步骤解决此问题:Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36
它只是将当前的 pip 安装(指的是 new/wrong python 环境)替换为 fresh/correct 一个。