Разрешение отклонило: '/usr/local/lib/python2.7/dist-packages/pytz-2017.2.dist-info'

Я пытался установить Django с pip install Django==1.11.4 но я сталкиваюсь с этой ошибкой все время:

Exception:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 345, in move_wheel_files
clobber(source, lib_dir, True)
File "/usr/local/lib/python2.7/dist-packages/pip/wheel.py", line 316, in clobber
ensure_dir(destdir)
File "/usr/local/lib/python2.7/dist-packages/pip/utils/__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "/usr/lib/python2.7/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pytz-2017.2.dist-info'
4
задан 23 August 2017 в 21:35

3 ответа

По умолчанию победите установки в /usr/local, которому нужны sudo полномочия. Вместо этого каждый раз, когда Вы работаете с модулями Python, используйте virtualenv. Это довольно легко:

  1. Глобально Python virtualenv

    sudo pip install virtualenv
    
  2. установки Создает virtualenv

    virtualenv Venv
    
  3. , Активируют Вашу Установку virtualenv

    source Venv/bin/activate
    
  4. Django локально в virtualenv

    pip install django
    

Таким образом, Вы не должны волноваться об изменении глобальных модулей Python и его намного более безопасного.

4
ответ дан 1 December 2019 в 09:02

Pip пытается установить его в/usr/local папке, которая требует администраторского разрешения. Если Вы - администратор и хотите установить его, там выполняет ту же команду с sudo:

sudo pip install Django==1.11.4

Это попросит у Вас Вашего пароля, и это должно быть этим.

редактирование: можно также использовать зернышко - пользовательская опция, но это только будет доступно текущему пользователю.

2
ответ дан 1 December 2019 в 09:02

Ответ @Sanchit является пятном - на. Виртуальная среда является способом пойти, если Вы управляете различными проектами в своей машине, и не хочет зависимостей одного проекта, вмешивающегося в другой.

В случае, если Вы хотите установить пакет в своей системе с локально установленным зернышком без виртуальной среды, в то время как Вы добираетесь, разрешение отклонило ошибку, попытайтесь установить пакет для одного только текущего пользователя. Это может быть сделано путем добавления --user отметьте к Вашему pip install команда.

Например:

pip install Django==1.11.4 --user

Кроме того, я не установил бы pip использование пакетов sudo полномочия по двум причинам:

  1. SUDO не мог бы быть доступен каждому пользователю.

  2. *SUDO, кажется, устанавливают пакеты для просто root пользователь а не для текущего пользователя (по крайней мере, в моем случае - Ubuntu 16.04, Облачный Экземпляр OpenStack)

*Не мог бы относиться к Вам. Мне было трудно воспроизвести.

3
ответ дан 1 December 2019 в 09:02

Другие вопросы по тегам:

Похожие вопросы: