В моем терминале MacOS Mojave я хотел установить пакет python с помощью pip. В конце написано:

You are using pip version 10.0.1, however version 18.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

Итак, я хотел обновить pip с помощью данной команды, но получил сообщение об ошибке:

Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: 
'/Library/Python/2.7/site-packages/pip-18.0-py2.7.egg/EGG-INFO/PKG-INFO'
Consider using the `--user` option or check the permissions.

Не очень понимаю, что мне теперь делать.Также я понял, что в сообщении об ошибке написано Python 2.7, но у меня есть и я хочу использовать только Python 3.

Adler

Ответов: 19

Ответы (19)

Если вы хотите использовать python3 + для установки пакетов, вам необходимо использовать pip3 install package_name

И для решения errno 13 вам нужно добавить - user в конце

pip3 install package_name --user

РЕДАКТИРОВАТЬ:

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

Чтобы создать его с python3 +, вы должны использовать следующую команду:

virtualenv enviroment_name -p python3

И затем вы работаете с ним, просто активируя it:

source enviroment_name/bin/activate

После активации виртуальной среды имя вашей виртуальной среды появится на левой стороне терминала. Это даст вам знать, что виртуальная среда в настоящее время активна. Теперь вы можете установить зависимости, связанные с проектом, в этой виртуальной среде, просто используя pip.

pip install package_name

Я делал те же ошибки, когда я понял, что создал свою виртуальную среду как пользователь root. Он был защищен от записи, поэтому проверьте, защищена ли ваша виртуальная среда от записи. сделайте новый venv и попробуйте снова

На Mac нет каталога 3.7 или каталог 3.7 принадлежит root. Итак, я удалил этот каталог, создал новый каталог для текущего пользователя и переместил его туда. После этого установка завершится без ошибок.

sudo rm -rf /Library/Python/3.7
mkdir 3.7
sudo mv 3.7 /Library/Python
ll /Library/Python/
pip3 install numpy

Чтобы узнать, действительно ли это проблема с разрешениями, запустите следующую команду, чтобы установить пакет с именем xxx.

pip install --user xxx

например: для установки пакета bcrypt запустить,

pip install --user bcrypt

У меня была похожая проблема с venv на смонтированном разделе NTFS в linux со всеми необходимыми разрешениями. Убедившись, что pip работал с - игнорировать установленный решил это, то есть: * 100004*

python -m pip install --upgrade --ignore-installed

Что касается команды разрешений, попробуйте использовать sudo перед командой терминала:

sudo pip install --upgrade pip

Sudo позволяет запускать команду с привилегиями суперпользователя и устанавливает пакет для глобальной общесистемной установки Python. В идеале вам следует создать виртуальную среду для проекта, над которым вы работаете. Взгляните на это

Что касается python Попробуйте запустить pip как исполняемый файл, например:

python3.6 -m pip install 

У меня такая же ошибка, когда я пытался установить пакет (flask-classful).
Я сделал ошибку, установив анаконду как root. Я сменил владельца установленной папки anaconda и смог успешно установить пакет.

Используйте команду chown с опцией -R, чтобы рекурсивно изменить владельца установленной папки anaconda следующим образом:

chown -R владелец: группа / путь / к / anaconda

Здесь владелец - ваше имя пользователя, а группа - это имя группы.

Я уже пробовал все предложения, размещенные здесь, но все еще получаю errno 13,

Я использую Windows, и моя версия Python - 3.7.3

После 5 часов попыток решить этот шаг у меня сработал:

Я пытаюсь открыть командную строку с помощью запуска от имени администратора

Для MacOs и Unix

Простое добавление sudo к команде будет работать, как если бы она запускалась как суперпользователь.

sudo pip install --upgrade pip

Однако рекомендуется не делать этого напрямую - см. этот пост

Это также происходит со мной, когда я пытаюсь установить пакет opencv-python:

installation attempt

Я могу исправить с помощью командной строки

python3 -m pip install {name of package} --user

Когда я пытаюсь установить указанный пакет, команда становится:

python3 -m pip install opencv-python --user

Результат:

result

Я запускал python3 -m pip install xxx

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.8'
Consider using the `--user` option or check the permissions.

/ Library / Python / 3.8 Указывает, что python3, который я использую, является общесистемным питоном, и, следовательно, проблемы с разрешениями. Решения, включающие флаги - user и виртуальные окружения, решают эту проблему.

For me, using brew the most convenient:

brew install python@3.8
brew link python@3.8
which python3

, после чего python3 -m pip install xxx без проблем. Обратите внимание, что sudo использовать не следует.

Принцип тот же: вы запускаете новую среду с меньшими привилегиями. Это означает, что все пакеты, которые вам нужны из старой среды, необходимо снова установить в этой новой среде.

Я думаю, используйте флаг - user, если вы не хотите все переустанавливать.

У меня установлена ​​anaconda для Python 3. У меня также есть Python2 на моем Mac.

python --version

дает мне

Python 3.7.3

python2.7 --version

дает мне

Python 2.7.10

Я хотел установить пакет pyspark в python2, учитывая, что он уже был установлен в python3.

python2.7 -m pip install pyspark

выдает ошибку

Не удалось установить пакеты из-за ошибки EnvironmentError: [Errno 13] В доступе отказано: '/Library/Python/2.7/site-packages/pyspark' Рассмотрите возможность использования опции - пользователь или проверьте разрешения.

Эта команда решила эту проблему. Слава богу, мне не пришлось менять конфигурацию.

python2.7 -m pip install pyspark --user

Требование сбора pyspark уже выполнено: py4j == 0.10.7 in /Library/Python/2.7/site-packages (из pyspark) (0.10.7) Установка собранные пакеты: pyspark Успешно установлен pyspark-2.4.4 Вы используют pip версии 18.1, однако доступна версия 19.3.1. Ты следует рассмотреть возможность обновления с помощью команды pip install --upgrade pip.

У меня тоже была такая же проблема, я пробовал много разных командных строк, у меня работала эта:

Попробуйте:

    conda install py-xgboost

Вот что у меня получилось:

Collecting package metadata: done
Solving environment: done

## Package Plan ##

  environment location: /home/simplonco/anaconda3

  added / updated specs:
    - py-xgboost


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    _py-xgboost-mutex-2.0      |            cpu_0           9 KB
    ca-certificates-2019.1.23  |                0         126 KB
    certifi-2018.11.29         |           py37_0         146 KB
    conda-4.6.2                |           py37_0         1.7 MB
    libxgboost-0.80            |       he6710b0_0         3.7 MB
    mkl-2019.1                 |              144       204.6 MB
    mkl_fft-1.0.10             |   py37ha843d7b_0         169 KB
    mkl_random-1.0.2           |   py37hd81dba3_0         405 KB
    numpy-1.15.4               |   py37h7e9f1db_0          47 KB
    numpy-base-1.15.4          |   py37hde5b4d6_0         4.2 MB
    py-xgboost-0.80            |   py37he6710b0_0         1.7 MB
    scikit-learn-0.20.2        |   py37hd81dba3_0         5.7 MB
    scipy-1.2.0                |   py37h7c811a0_0        17.7 MB
    ------------------------------------------------------------
                                           Total:       240.0 MB

The following NEW packages will be INSTALLED:

  _py-xgboost-mutex  pkgs/main/linux-64::_py-xgboost-mutex-2.0-cpu_0
  libxgboost         pkgs/main/linux-64::libxgboost-0.80-he6710b0_0
  py-xgboost         pkgs/main/linux-64::py-xgboost-0.80-py37he6710b0_0

The following packages will be UPDATED:

  ca-certificates     anaconda::ca-certificates-2018.12.5-0 --> pkgs/main::ca-certificates-2019.1.23-0
  mkl                                            2019.0-118 --> 2019.1-144
  mkl_fft                              1.0.4-py37h4414c95_1 --> 1.0.10-py37ha843d7b_0
  mkl_random                           1.0.1-py37h4414c95_1 --> 1.0.2-py37hd81dba3_0
  numpy                               1.15.1-py37h1d66e8a_0 --> 1.15.4-py37h7e9f1db_0
  numpy-base                          1.15.1-py37h81de0dd_0 --> 1.15.4-py37hde5b4d6_0
  scikit-learn                        0.19.2-py37h4989274_0 --> 0.20.2-py37hd81dba3_0
  scipy                                1.1.0-py37hfa4b5c9_1 --> 1.2.0-py37h7c811a0_0

The following packages will be SUPERSEDED by a higher-priority channel:

  certifi                                          anaconda --> pkgs/main
  conda                                            anaconda --> pkgs/main
  openssl                anaconda::openssl-1.1.1-h7b6447c_0 --> pkgs/main::openssl-1.1.1a-h7b6447c_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
libxgboost-0.80      | 3.7 MB    | ##################################### | 100% 
mkl_random-1.0.2     | 405 KB    | ##################################### | 100% 
certifi-2018.11.29   | 146 KB    | ##################################### | 100% 
ca-certificates-2019 | 126 KB    | ##################################### | 100% 
conda-4.6.2          | 1.7 MB    | ##################################### | 100% 
mkl-2019.1           | 204.6 MB  | ##################################### | 100% 
mkl_fft-1.0.10       | 169 KB    | ##################################### | 100% 
numpy-1.15.4         | 47 KB     | ##################################### | 100% 
scipy-1.2.0          | 17.7 MB   | ##################################### | 100% 
scikit-learn-0.20.2  | 5.7 MB    | ##################################### | 100% 
py-xgboost-0.80      | 1.7 MB    | ##################################### | 100% 
_py-xgboost-mutex-2. | 9 KB      | ##################################### | 100% 
numpy-base-1.15.4    | 4.2 MB    | ##################################### | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

просто sudo pip install packagename

Ответ в сообщении об ошибке. Раньше вы или процесс выполняли sudo pip, в результате чего некоторые каталоги в / Library / Python / 2.7 / site-packages /... имели разрешения, которые делают он недоступен для вашего текущего пользователя.

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

Итак, чтобы исправить это, зайдите в /Library/Python/2.7/site-packages / ... и найдите каталог с правами root или not-your-user и либо удалите, а затем переустановите эти пакеты, либо просто принудительно установите владение пользователю, к которому должен иметь доступ.

This worked for me:

 python3 -m venv env
 source ./env/bin/activate
 python -m pip install package

(Из Github: https://github.com/googlesamples/assistant-sdk-python/issues/236)

У меня была такая же проблема при установке numpy с pip install numpy.

Потом попробовал

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

У меня сработало.

Пояснение: Параметр -H (HOME) с sudo устанавливает переменную среды HOME в домашний каталог целевого пользователя (по умолчанию root). По умолчанию sudo не изменяет HOME.

попробуйте эту командную строку ниже для MacOS, чтобы проверить права пользователя.

$ sudo python -m pip install --user --upgrade pip

Я изменил права venv, с которым работал, так как разрешения отсутствовали во вложенных папках виртуальной среды.

sudo chmod -R a+rwx testenv

Тогда я мог бы установить автоматически рекомендуемый пакет изнутри codium.

2022 WebDevInsider