由于EnvironmentError导致无法安装软件包:[Errno 13]

问题描述 投票:8回答:9

在我的MacOS Mojave终端中,我想安装一个带有pip的python包。最后它说:

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。

python bash macos terminal pip
9个回答
9
投票

如果你想使用python3 +来安装你需要使用pip3 install packageName的软件包

要解决错误13,你必须在最后添加--user

pip3 install packageName --user

0
投票

尝试下面的命令行,以便MacOS检查用户的权限。

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

8
投票

关于permissions命令,请尝试在终端命令前使用sudo:

sudo pip install --upgrade pip

Sudo是一个程序,允许您使用超级用户的权限运行命令。

关于python尝试运行pip作为这样的可执行文件:

python3.6 -m pip install <package>

1
投票

我犯了同样的错误然后我意识到我已经以root用户身份创建了我的虚拟环境。它是写保护的,因此请检查您的虚拟环境是否受写保护。做一个新的venv并再试一次


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
投票

答案在错误消息中。在过去,您或某个进程执行了sudo pip,这导致/Library/Python/2.7/site-packages/...下的某些目录具有使您无法访问当前用户的权限。

然后你做了一个依赖于另一件事的pip install whatever

所以要修复它,请访问/Library/Python/2.7/site-packages / ...并找到具有root或not-your-user权限的目录,然后删除然后重新安装这些包,或者只强制用户所有权谁应该有权访问。


0
投票

我用numpy安装pip install numpy时遇到了同样的问题。

然后我试了一下

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

它对我很有用。

说明:-H(HOME)选项与sudo将HOME环境变量设置为目标用户的主目录(默认情况下为root)。默认情况下,sudo不会修改HOME。


0
投票

当我试图安装一个包(烧瓶类)时,我得到了同样的错误。我犯了以root身份安装anaconda的错误。我更改了已安装的anaconda文件夹的所有权,我可以成功安装该软件包。

使用带选项-R的命令chown以递归方式更改已安装的anaconda文件夹的所有权

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

此处所有者是您的用户名,组是组名。


0
投票

这对我有用:

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

(来自Github:https://github.com/googlesamples/assistant-sdk-python/issues/236


0
投票

尝试:pip install --upgrade pip --user

© www.soinside.com 2019 - 2024. All rights reserved.