2015-07-20 2 views
0

У меня есть коробка Redhat 6, на которой первоначально был установлен python 2.6 (вызывается /usr/bin/python). Несколько дней назад я установил 2.7.10 (вызывается /usr/local/bin/python или просто python).Путаница относительно установок пакета python 2.6/2.7

Ранее сегодня я установил pip, используя sudo easy_install pip. Результат whereis pip: pip: /usr/bin/pip2.6 /usr/bin/pip

Затем я хотел установить пакет pandas, запустив sudo pip install pandas. Он сообщил, успех, но import pandas выдает ошибку для обеих версий питона:

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?

В конце концов, я не забочусь о Python 2.6 и только хочу работать с 2,7

Thx

ответ

0

выглядит как причина в том, что я установил пакеты, как корень. Ведение

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

Исправлена ​​проблема

+0

Мне пришлось сделать sudo chmod -R ugo + rX /Library/Python/2.7/site-packages/ на моем OSX (10.10) и исправил ту же проблему. Благодарю. –

+0

Мне сказали, что это нарушение безопасности, поскольку оно позволяет любому пользователю устанавливать модули python. – MikeiLL

0

Для справки, это может произойти, когда у вас есть несколько установок Python, например, через варку. В этом случае удалить один:

brew remove python --force

Этот один фиксированный для меня.

0

Этот случай может быть зафиксирован с помощью действия, описанные в следующем ответе: Easy_install and pip broke: pkg_resources.DistributionNotFound: distribute==0.6.36

Он просто заменяет текущий пункт установить (который относится к новой/неправильной среде Python) со свежим/правильный.