由于环境错误而无法安装软件包:[Errno 13]

时间:2018-10-23 12:49:39

标签: python bash macos terminal pip

在我的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.

所以我想用给定的命令更新点子,但出现错误:

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。

19 个答案:

答案 0 :(得分:8)

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

sudo pip install --upgrade pip

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

关于python尝试将pip作为可执行文件运行,如下所示:

python3.6 -m pip install <package>

答案 1 :(得分:5)

如果要使用python3 +安装软件包,则需要使用pip3 install packageName

要解决errno 13,必须在末尾添加--user

pip3 install packageName --user

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我已经尝试过此处发布的所有建议,但是我仍然收到错误编号13,

我正在使用Windows,而我的python版本是3.7.3

尝试解决5小时后,此步骤对我有用:

我尝试通过以管理员身份运行

打开命令提示符

答案 4 :(得分:0)

要查看是否确实是权限问题,请运行以下命令以安装名为 xxx 的软件包。

pip install --user xxx

例如:安装包bcrypt运行,

pip install --user bcrypt

答案 5 :(得分:0)

我正在运行 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 是系统范围的 Python,因此存在权限问题。涉及 --user 标志和虚拟环境的解决方案都在解决这个问题。

对我来说,使用 brew 最方便:

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

之后 python3 -m pip install xxx 成功而没有问题。请注意,不应使用 sudo。

原理是一样的:您正在启动一个特权较低的新环境。这意味着旧环境中您需要的所有软件包都需要在新环境中重新安装。

如果您不想重新安装所有内容,我想可以使用 --user 标志。

答案 6 :(得分:0)

当我尝试安装opencv-python软件包时,也会发生这种情况:

installation attempt

我可以使用命令行对其进行修复

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

当我尝试安装上述软件包时,命令变为:

python3 -m pip install opencv-python --user

结果:

result

答案 7 :(得分:0)

在Mac上,没有3.7目录,或者目录3.7root拥有。因此,我删除了该目录,由当前用户创建了一个新目录,并将其移至该目录。然后安装完成,没有错误。

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

答案 8 :(得分:0)

我在具有所有正确权限的Linux上已安装的NTFS分区的venv中遇到类似的麻烦。 确保使用-ignore-installed 来运行pip可以解决该问题,即:

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

答案 9 :(得分:0)

MAC和Unix

只需在命令中添加sudo即可。

sudo pip install --upgrade pip

答案 10 :(得分:0)

我已经为Python 3安装了anaconda。我的Mac中也有Python2。

await page.click(loginSelector)
await page.keyboard.type(username)

await page.click(passSelector)
await page.keyboard.type(password)

// submit login username & password
await page.keyboard.press(String.fromCharCode(13))

// wait for div with rc-anchor-container selector to appear
await page.waitForSelector("#rc-anchor-container");

// this console.log never shows
console.log('loaded')

给我

  

Python 3.7.3

python --version

给我

  

Python 2.7.10

我想在python2中安装pyspark软件包,因为它已经安装在python3中。

python2.7 --version

给我一​​个错误

  

由于环境错误而无法安装软件包:[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”命令进行升级。

答案 11 :(得分:0)

在下面的 MacOS 中尝试此命令行以检查用户的权限。

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

这对我有用:

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

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

答案 14 :(得分:0)

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

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

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

这里所有者是您的用户名,组是组名。

答案 15 :(得分:0)

在将numpypip install numpy一起安装时,我遇到了同样的问题。

然后我尝试了

sudo -H pip3 install --upgrade pip

sudo -H pip3 install numpy

对我来说效果很好。

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

答案 16 :(得分:0)

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

然后您做了一个pip install whatever,它依赖于另一件事。

因此,要解决此问题,请访问/Library/Python/2.7/site-packages / ...并找到具有root或not-your-user权限的目录,然后删除然后重新安装这些软件包,或者只是强制拥有所有权应该访问的用户。

答案 17 :(得分: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

答案 18 :(得分:-5)

sudo pip install packagename