Не удалось установить пакеты из-за EnvironmentError: [Errno 13]
В моем терминале 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.
Ответы
Ответ 1
Если вы хотите использовать python3+ для установки пакетов, вам нужно использовать pip3 install packageName
И чтобы решить errno 13, вы должны добавить --user
в конце
pip3 install packageName --user
EDIT:
Для любого проекта в Python настоятельно рекомендуется работать на Виртуальной среде, это инструмент, который помогает разделить зависимости, требуемые для различных проектов, путем создания для них изолированных виртуальных сред Python.
Чтобы создать его с помощью python3+, вы должны использовать следующую команду:
virtualenv enviroment_name -p python3
А затем вы работаете над этим, просто активировав его:
source enviroment_name/bin/activate
После активации виртуальной среды имя вашей виртуальной среды появится в левой части терминала. Это позволит вам узнать, что виртуальная среда в настоящее время активна.
Теперь вы можете установить зависимости, связанные с проектом, в этой виртуальной среде, просто используя pip
.
pip install package_name
Ответ 2
Что касается команды permissions, попробуйте использовать sudo перед командой терминала:
sudo pip install --upgrade pip
Sudo - это программа, которая позволяет запускать команду с привилегиями суперпользователя.
Что касается python, попробуйте запустить pip как исполняемый файл, например:
python3.6 -m pip install <package>
Ответ 3
Я делал те же ошибки, потом понял, что создал свою виртуальную среду от имени пользователя root. Он защищен от записи, поэтому, пожалуйста, проверьте, защищена ли ваша виртуальная среда от записи. сделай новый венв и попробуй еще раз
Ответ 4
Ответ в сообщении об ошибке. В прошлом вы или процесс выполняли команду sudo pip
, в результате чего некоторые каталоги в /Library/Python/2.7/site-packages/...
имели разрешения, которые делают его недоступным для текущего пользователя.
Затем вы pip install whatever
что зависит от другой вещи.
Поэтому, чтобы исправить это, посетите /Library/Python/2.7/site-packages/... и найдите каталог с правами root или not-your-user и удалите, затем переустановите эти пакеты, или просто навязывайте права владения пользователю к кому должен быть доступ.
Ответ 5
Я получил ту же ошибку, когда пытался установить пакет (классная фляга). Я сделал ошибку, установив anaconda от имени пользователя root. Я сменил владельца установленной папки anaconda и смог успешно установить пакет.
Используйте команду chown с параметром -R, чтобы рекурсивно изменить владельца установленной папки anaconda.
chown -R owner:group/path/to/anaconda
Здесь owner - ваше имя пользователя, а group - имя группы.
Ответ 6
У меня тоже была такая же проблема, я пробовал много разных командных строк, эта у меня работала:
Пытаться:
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
Ответ 7
У меня была такая же проблема при установке numpy
с помощью pip install numpy
.
Потом я попробовал
sudo -H pip3 install --upgrade pip
sudo -H pip3 install numpy
Это хорошо сработало для меня.
Объяснение: Параметр -H
(HOME) с sudo
устанавливает переменную среды HOME в домашний каталог целевого пользователя (по умолчанию root). По умолчанию sudo не изменяет HOME.
Ответ 8
Do this:
sudo chown -R your_username:your_username path/to/virtuaelenv/
Ответ 9
Это сработало для меня:
python3 -m venv env
source ./env/bin/activate
python -m pip install package
(От Github: https://github.com/googlesamples/assistant-sdk-python/issues/236)
Ответ 10
Попробуйте: pip install --upgrade pip --user
.
Ответ 11
попробуйте эту командную строку ниже для MacOS, чтобы проверить разрешение пользователя.
$ sudo python -m pip install --user --upgrade pip
Ответ 12
У меня установлена анаконда для 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: [Errno13] В доступе отказано: '/Library/Python/2.7/site-packages/pyspark' Попробуйте использовать опцию --user
или проверьте разрешения.
Следующая команда решила это. Слава богу, мне не пришлось вносить какие-либо изменения в конфигурацию.
python2.7 -m pip install pyspark --user
Сбор pyspark Требование уже выполнено: py4j == 0.10.7 в /Library/Python/2.7/site-packages (из pyspark) (0.10.7) Установка собранные пакеты: pyspark Успешно установлен pyspark-2.4.4 You используют версию 18.1, однако доступна версия 19.3.1. Вы следует рассмотреть возможность обновления с помощью команды 'pip install --upgrade pip'.
Ответ 13
MAC & Unix
Просто добавив sudo в команду, вы сработаете.
sudo pip install --upgrade pip
Ответ 14
просто sudo pip install packagename