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

20 浏览
0 Comments

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

我有一台安装了 Redhat 6 的服务器,最初安装的是 Python 2.6(通过 /usr/bin/python 调用)。几天前我安装了 Python 2.7.10(通过 /usr/local/bin/python 或者简单地使用 python 调用)。\n今天早些时候,我使用 sudo easy_install pip 命令安装了 pip。通过 whereis pip 命令可以得到结果 pip: /usr/bin/pip2.6 /usr/bin/pip。\n然后我想要通过运行 sudo pip install pandas 命令安装 pandas 包。它报告安装成功,但是无论对于哪个版本的 python,import pandas 都会产生错误:\nmyPrompt 733] python\nPython 2.7.10 (default, Jul 16 2015, 14:41:11) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import pandas\nTraceback (most recent call last):\n File \"\", line 1, in \nImportError: No module named pandas\n>>> exit()\nmyPrompt 734] /usr/bin/python\nPython 2.6.6 (r266:84292, Nov 21 2013, 10:50:32) \n[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> import pandas\nTraceback (most recent call last):\n File \"\", line 1, in \nImportError: No module named pandas\n>>> exit()\nmyPrompt 735] pip install pandas\nTraceback (most recent call last):\n File \"/usr/bin/pip\", line 5, in \n from pkg_resources import load_entry_point\n File \"/usr/lib/python2.6/site-packages/pkg_resources.py\", line 2655, in \n working_set.require(__requires__)\n File \"/usr/lib/python2.6/site-packages/pkg_resources.py\", line 648, in require\n needed = self.resolve(parse_requirements(requirements))\n File \"/usr/lib/python2.6/site-packages/pkg_resources.py\", line 546, in resolve\n raise DistributionNotFound(req)\npkg_resources.DistributionNotFound: pip==7.1.0\nmyPrompt 736] sudo pip install pandas\nEnter PASSCODE:\nRequirement already satisfied (use --upgrade to upgrade): pandas in /usr/lib64/python2.6/site-packages\nRequirement already satisfied (use --upgrade to upgrade): python-dateutil in /usr/lib/python2.6/site-packages (from pandas)\nRequirement already satisfied (use --upgrade to upgrade): pytz>=2011k in /usr/lib/python2.6/site-packages (from pandas)\nRequirement already satisfied (use --upgrade to upgrade): numpy>=1.7.0 in /usr/lib64/python2.6/site-packages (from pandas)\nRequirement already satisfied (use --upgrade to upgrade): six>=1.5 in /usr/lib/python2.6/site-packages (from python-dateutil->pandas)\n\n所以 pip 的配置和包的安装存在某种混淆。我应该如何解决这个问题?我需要重新安装 pip 吗?\n最终,我不关心 Python 2.6,只想使用 Python 2.7。\n谢谢

0
0 Comments

这个问题的出现是因为当前的pip安装引用了错误的Python环境。解决方法是将当前的pip安装替换为一个正确的新版本。

具体解决方法可以参考以下答案提供的步骤:Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36

以下是具体的解决步骤:

1. 打开终端或命令行窗口。

2. 输入以下命令以卸载当前的pip:

pip uninstall pip

3. 输入以下命令以安装一个新的pip版本:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

4. 输入以下命令以确认pip已经正确安装:

pip --version

如果输出的版本号正确,则说明pip已经成功安装。

5. 现在可以使用新的pip来安装需要的Python包了。

通过以上步骤,我们可以解决关于Python 2.6/2.7包安装时的混淆问题。

0
0 Comments

问题原因:安装了多个Python版本,例如通过brew安装,导致混淆。

解决方法:移除其中一个Python版本。

具体操作如下:

brew remove python --force

这个方法对我来说有效。

0
0 Comments

出现问题的原因是以root用户身份安装了python 2.6/2.7的包。解决方法是使用sudo命令并修改文件权限。在OSX(10.10)上,可以通过执行sudo chmod -R ugo+rX /Library/Python/2.7/site-packages/来解决相同的问题。然而,有人指出这种做法存在安全漏洞,因为它允许任何用户安装python模块。

0