Не вдалося встановити пакети через помилку EnvironmentError: [Errno 13]


96

У своєму терміналі 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.


6
Ви читали: "Розгляньте можливість використання --userопції або перевірте дозволи."?
Клаус Д.

Я щойно спробував, ти маєш рацію! Я думав, це перевірить дозволи, а не НАДАЄ дозволи. Дякую!
Адлер

2
Щоб встановити пакети для python3, вам потрібно використовувати pip3 Для оновлення pip просто запустіть як sudo, якщо у вас виникнуть помилки дозволів.
BoboDarph,


Відповіді:


149

Якщо ви хочете використовувати 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

2
Я зробив це, але все ще маю проблеми. Я встановив колбу, але її все ще не вдається знайти в моєму венве. Що я можу зробити?
Леонард

Спробуйте virtualenv -p python3.8 enviroment_name Використання: virtualenv [ОПЦІЇ] DEST_DIR
Томмі Гіббонс,

1
Працює ідеально. Дякую!
Хардік Дхарма

22

Щодо команди дозволів, спробуйте використовувати sudo перед командою терміналу:

sudo pip install --upgrade pip

Sudo - це програма, яка дозволяє запускати команду з привілеями суперкористувача.

Щодо python Спробуйте запустити pip як такий виконуваний файл:

python3.6 -m pip install <package>

5

Я робив ті самі помилки, тоді зрозумів, що створив своє віртуальне середовище як користувач root. Він був захищений від запису, тому, будь ласка, перевірте, чи захищено ваше віртуальне середовище від запису. зробіть новий venv і спробуйте ще раз


4

Я отримав ту ж помилку, коли намагався встановити пакет (flask-classful).
Я помилився, встановивши анаконду як root. Я змінив право власності на встановлену папку anaconda, і міг успішно встановити пакет.

Використовуйте команду chownз опцією -Rдля рекурсивної зміни власника встановленої папки anaconda приблизно так:

chown -R owner:group /path/to/anaconda

Тут власник - ваше ім’я користувача, а група - назва групи.


3

Для MacOs та Unix

Просто додавання sudo до команди буде працювати, оскільки воно запускатиме його як суперкористувача.

sudo pip install --upgrade pip

Радимо, що ви не повинні це робити безпосередньо, будь ласка - перегляньте цю публікацію


Це зовсім не корисно для користувачів Windows, і ця помилка частіше зустрічається у користувачів Windows через операційні дозволи Windows. Крім того, команди слід укладати в кодові блоки, коли їх немає, це ускладнює читання
logos_164

2

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

Потім ви зробили a, pip install whateverякий покладається на інше.

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


простий і робочий. використовуйте $ whoami, щоб дізнатись, яким користувачем ви зараз є, тоді $ sudo chown ім'я користувача /Library/Python/2.7/site-packages/, а потім встановіть будь-що ... Можливо, вам доведеться використовувати chown рекурсивно
Суніл Кумар,

2

У мене була та ж проблема під час встановлення numpyз pip install numpy.

Тоді я спробував

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

У мене це добре працювало.

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



1

Я вже спробував усі пропозиції, опубліковані тут, але все ще отримую помилку 13,

Я використовую Windows, і моя версія python - 3.7.3

Після 5 годин спроб її вирішити цей крок у мене спрацював:

Я намагаюся відкрити командний рядок, запустивши як адміністратор


0

У мене також була та сама проблема, я спробував багато різних командних рядків, цей працював у мене:

Спробуйте:

    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

0

спробуйте цей командний рядок нижче для MacOS, щоб перевірити дозвіл користувача.

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

0

У мене встановлена ​​анаконда для 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' Розгляньте можливість використання --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 Ви використовуєте версію pip 18.1 , однак версія 19.3.1 доступна. Вам слід розглянути можливість оновлення за допомогою команди 'pip install --upgrade pip'.


0

У мене були подібні проблеми з venv на змонтованому розділі NTFS в Linux з усіма правильними дозволами. Переконавшись, що піп працював за допомогою --ignore-installed, це вирішено, тобто:

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


0

На 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

0

Це також трапляється зі мною, коли я намагаюся встановити opencv-pythonпакет:

спроба встановлення

Я можу це виправити за допомогою командного рядка

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

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

python3 -m pip install opencv-python --user

В результаті:

результат


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.