Я пытаюсь установить mongo-connector на Amazon-EC2 instance с помощью следующей команды:

 pip install mongo-connector

Но каждый раз появляется следующая ошибка:

Exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in                                                                                         main
    status = self.run(options, args)
  File "/usr/local/lib/python2.7/site-packages/pip/commands/install.py", line 31                                                                                        7, in run
    prefix=options.prefix_path,
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 736, in                                                                                         install
    requirement.uninstall(auto_confirm=True)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 742                                                                                        , in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 1                                                                                        15, in remove
    renames(path, new_path)
  File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267,                                                                                         in renames
    shutil.move(old, new)
  File "/usr/lib64/python2.7/shutil.py", line 300, in move
    rmtree(src)
  File "/usr/lib64/python2.7/shutil.py", line 252, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "/usr/lib64/python2.7/shutil.py", line 250, in rmtree
    os.remove(fullname)
OSError: [Errno 13] Permission denied: '/usr/lib/python2.7/dist-packages/request                                                                                        s/sessions.pyo'

Я подумал, что это может быть проблема с правами root, поэтому попробовал:

sudo pip install mongo-connector

Но это говорит:

sudo: pip: command not found

Я использую pip 8.1.2, Python 2.7.12.

Любая помощь была бы признательна!

8
Sohan Shirodkar 13 Сен 2016 в 08:43

3 ответа

Еще один способ решить эту проблему:

sudo bash 

Теперь вы находитесь в bash с привилегиями root, поэтому теперь вы можете выполнить

pip install mongo-connector

Без каких-либо проблем с разрешением

0
Paul Roub 8 Июн 2018 в 19:29

Для Windows загрузите необходимые предварительно скомпилированные пакеты python со страницы https://www.lfd.uci.edu/ ~ gohlke / pythonlibs / и pip install <point to the downloaded file>.

0
Srinivas 8 Июн 2018 в 14:25

Вы не должны использовать sudo для установки пакетов с помощью pip. Хотя он работает, он изменяет файлы, которыми должен управлять менеджер пакетов вашей ОС, что нежелательно - см. Также https: // stackoverflow .com / a / 21056000/1931274.

Если вы передадите --user этой команде, вы сможете установить без проблем с правами доступа:

pip install --user mongo-connector

Более того, более новые версии pip (устанавливаемые через pip install --user pip или с помощью get-pip.py) выводят более полезное сообщение при возникновении таких ошибок.

1
pradyunsg 4 Июн 2018 в 13:10