Разрешение отклонено: '/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'
2
задан 23 August 2017 в 21:35

9 ответов

По умолчанию pip устанавливает в /usr/bin.. глобальную установку папок, для которой требуются права sudo. Когда вы работаете с модулями python, используйте virtualenv, это довольно просто

Глобально установите python virtualenv - sudo pip install virtualenv Создайте virtualenv - virtualenv Venv Активируйте свой virtualenv - source Venv/bin/activate Теперь сделайте pip install django - это будет установите django локально в virtualenv, таким образом вам не нужно беспокоиться о модификации глобальных модулей python и более безопасных
2
ответ дан 22 May 2018 в 19:08

По умолчанию pip устанавливает в /usr/bin.. глобальную установку папок, для которой требуются права sudo. Когда вы работаете с модулями python, используйте virtualenv, это довольно просто

Глобально установите python virtualenv - sudo pip install virtualenv Создайте virtualenv - virtualenv Venv Активируйте свой virtualenv - source Venv/bin/activate Теперь сделайте pip install django - это будет установите django локально в virtualenv, таким образом вам не нужно беспокоиться о модификации глобальных модулей python и более безопасных
2
ответ дан 18 July 2018 в 08:02

По умолчанию pip устанавливает в /usr/bin.. глобальную установку папок, для которой требуются права sudo. Когда вы работаете с модулями python, используйте virtualenv, это довольно просто

Глобально установите python virtualenv - sudo pip install virtualenv Создайте virtualenv - virtualenv Venv Активируйте свой virtualenv - source Venv/bin/activate Теперь сделайте pip install django - это будет установите django локально в virtualenv, таким образом вам не нужно беспокоиться о модификации глобальных модулей python и более безопасных
2
ответ дан 24 July 2018 в 18:58

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

sudo pip install Django==1.11.4

Он попросит вас ввести пароль, и это должно быть.

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

2
ответ дан 22 May 2018 в 19:08

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

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

Например:

pip install Django==1.11.4 --user

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

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

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

1
ответ дан 22 May 2018 в 19:08

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

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

Например:

pip install Django==1.11.4 --user

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

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

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

1
ответ дан 18 July 2018 в 08:02

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

sudo pip install Django==1.11.4

Он попросит вас ввести пароль, и это должно быть.

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

2
ответ дан 18 July 2018 в 08:02

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

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

Например:

pip install Django==1.11.4 --user

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

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

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

1
ответ дан 24 July 2018 в 18:58

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

sudo pip install Django==1.11.4

Он попросит вас ввести пароль, и это должно быть.

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

2
ответ дан 24 July 2018 в 18:58

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

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