В моем терминале 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.
Я только что попробовал, вы правы! Я думал, он будет ПРОВЕРИТЬ разрешения, а не ДАВАТЬ разрешения. Спасибо!
Чтобы установить пакеты для python3, вам необходимо использовать pip3. Чтобы обновить pip, просто запустите sudo, если вы столкнетесь с ошибками разрешений.
Возможный дубликат pip install -r: OSError: [Errno 13] В доступе отказано






Что касается команды разрешений, попробуйте использовать sudo перед командой терминала:
sudo pip install --upgrade pip
Sudo позволяет запускать команду с привилегиями суперпользователя и устанавливает пакет для глобальной общесистемной установки Python. В идеале вам следует создать виртуальную среду для проекта, над которым вы работаете. Взгляните на это
Что касается python Попробуйте запустить pip как исполняемый файл, например:
python3.6 -m pip install <package>
Я не совсем уверен, но запуск таких команд с правами root обычно не лучшая идея: как только вы используете sudo, пользователь сменится с «you» на «root», что может привести к нежелательным результатам. Например, библиотеки могут быть установлены в / home / root вместо / home / yourusername. Кроме того, файлы будут созданы совместно с пользователем / группой root. Sudo нужен только тогда, когда команда должна сохранять файлы в системных папках, таких как / usr / local / bin! ;)
Да, это правда. Я добавил комментарий по этому поводу
Если вы хотите использовать python3 + для установки пакетов, вам необходимо использовать pip3 install package_name
И чтобы решить ошибка 13, вам нужно добавить --user в конце
pip3 install package_name --user
Обновлено:
Для любого проекта на Python настоятельно рекомендуется работает с Виртуальная среда, это инструмент, который помогает разделять зависимости, необходимые для разных проектов, путем создания для них изолированных виртуальных сред Python.
Чтобы создать его с python3 +, вы должны использовать следующую команду:
virtualenv enviroment_name -p python3
И затем вы работаете над этим просто с помощью активация:
source enviroment_name/bin/activate
После активации виртуальной среды имя вашей виртуальной среды появится на левой стороне терминала. Это даст вам знать, что виртуальная среда в настоящее время активна.
Теперь вы можете установить зависимости, связанные с проектом, в этой виртуальной среде, просто используя pip.
pip install package_name
Я сделал это, но проблема не исчезла. Я установил колбу, но ее все еще нет в моем venv. Что я могу сделать?
Попробуйте virtualenv -p python3.8 enviroment_name Использование: virtualenv [ОПЦИИ] DEST_DIR
Прекрасно работает. Спасибо!
@Leonard У меня такая же проблема, она не устанавливается в venv. Это очень неприятно, как вы это исправили?
Вы все пробовали с анакондой @Amon?
@GonzaloGarcia нет, просто обычный питон. Я не подозревал, что такая простая задача вызовет такую серьезную проблему.
@Amon привет, я спросил это, когда я был полным новичком и у меня была испорченная среда python, когда я не знал, что мне не следует использовать anaconda и pip вместе. Я в основном сбросил всю среду Python, очистил новую свежую установку и с тех пор не сталкивался с большими проблемами.
У меня были те же проблемы. Что сработало для меня, так это сначала создать virtualenv, активировать venv, затем обновить 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, в результате чего некоторые каталоги в /Library/Python/2.7/site-packages/... имели разрешения, которые делали его недоступным для вашего текущего пользователя.
Затем вы сделали pip install whatever, который основан на другом.
Итак, чтобы исправить это, посетите /Library/Python/2.7/site-packages / ... и найдите каталог с правами root или not-your-user и либо удалите, а затем переустановите эти пакеты, либо просто установите право владения пользователем. к кому должен иметь доступ.
простой и рабочий. используйте $ whoami, чтобы узнать, каким пользователем вы сейчас являетесь, тогда $ sudo chown username /Library/Python/2.7/site-packages/ затем установите pip что угодно ... Возможно, вам придется использовать chown рекурсивно
У меня была такая же проблема при установке numpy с pip install numpy.
Потом я попробовал
sudo -H pip3 install --upgrade pip
sudo -H pip3 install numpy
У меня это сработало.
Объяснение :
Параметр -H (HOME) с sudo устанавливает переменную среды HOME в домашний каталог целевого пользователя (по умолчанию root). По умолчанию sudo не изменяет HOME.
Я делал те же ошибки, когда понял, что создал свою виртуальную среду как пользователь root. Он был защищен от записи, поэтому проверьте, защищена ли ваша виртуальная среда от записи. сделай новый венв и попробуй еще раз
У меня такая же ошибка, когда я пытался установить пакет (flask-classful) .
Я сделал ошибку, установив анаконду как root. Я сменил владельца установленной папки anaconda и смог успешно установить пакет.
Используйте команду chown с опцией -R, чтобы рекурсивно изменить владельца установленной папки anaconda следующим образом:
chown -R owner:group /path/to/anaconda
Здесь владелец - это ваше имя пользователя, а группа - это имя группы.
Это сработало для меня:
python3 -m venv env
source ./env/bin/activate
python -m pip install package
(Из Github: https://github.com/googlesamples/assistant-sdk-python/issues/236)
попробуйте эту командную строку ниже для MacOS, чтобы проверить права пользователя.
$ sudo python -m pip install --user --upgrade pip
просто sudo pip install packagename
У меня установлена анаконда для 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
дает мне ошибку
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/pyspark' Consider using the
--useroption or check the permissions.
Приведенная ниже команда решила это. Слава богу, мне не пришлось менять конфигурацию.
python2.7 -m pip install pyspark --user
Collecting pyspark Requirement already satisfied: py4j==0.10.7 in /Library/Python/2.7/site-packages (from pyspark) (0.10.7) Installing collected packages: pyspark Successfully installed pyspark-2.4.4 You are using pip version 18.1, however version 19.3.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
Для MacOs и Unix
Просто добавив sudo к команде, она будет работать, как суперпользователь.
sudo pip install --upgrade pip
Однако рекомендуется не делать этого напрямую - см. эта почта
Это совершенно бесполезно для пользователей Windows, и эта ошибка чаще встречается у пользователей Windows из-за операционных разрешений Windows. Кроме того, команды должны быть заключены в блоки кода, когда они не читаются.
Я уже пробовал все предложения, размещенные здесь, но все еще получаю ошибку 13,
Я использую Windows, и моя версия python - 3.7.3
После 5 часов попыток решить этот шаг у меня сработал:
Пытаюсь открыть командную строку запустить от имени администратора
У меня была аналогичная проблема с venv на смонтированном разделе NTFS в Linux со всеми необходимыми разрешениями. Убедившись, что pip работал с --ignore-installed, решил это, то есть:
python -m pip install --upgrade --ignore-installed
На 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
Я использовал 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 и виртуальные окружения, решают эту проблему.
Для меня использовать самогон удобнее всего:
brew install [email protected]
brew link [email protected]
which python3
После чего python3 -m pip install xxx удастся без проблем. Обратите внимание, что sudo использовать не следует.
Принцип тот же: вы запускаете новую среду, менее привилегированную. Это означает, что все пакеты, которые вам нужны из старой среды, необходимо снова установить в этой новой среде.
Я думаю, используйте флаг --user, если вы не хотите все переустанавливать.
Чтобы узнать, действительно ли это проблема с разрешениями, запустите следующую команду, чтобы установить пакет с именем xxx.
pip install --user xxx
например: для установки пакета bcrypt запустить,
pip install --user bcrypt
Вы читали: «Рассмотрите возможность использования опции
--userили проверьте разрешения»?