【问题标题】:Installing python module IOError: [Errno 13] Permission denied:安装python模块IOError:[Errno 13]权限被拒绝:
【发布时间】:2017-04-13 15:49:19
【问题描述】:

我尝试通过在终端中输入 pip 来安装 python 库 openpyxl:

    pip install openpyxl

但它没有正确执行。它抛出了一个异常:

    Successfully built openpyxl jdcal et-xmlfile
    Installing collected packages: jdcal, et-xmlfile, openpyxl
    Exception:
    Traceback (most recent call last):
    File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
    File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
    File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
    **kwargs
    File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
    File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
    File "/Library/Python/2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
    File "/Library/Python/2.7/site-packages/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
    IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/jdcal.py'

【问题讨论】:

标签: python pip permission-denied


【解决方案1】:

最好的方法可能是使用pip install <libname> --user

在你的情况下使用pip install openpyxel --user

这将为您的用户安装软件包,这是安全的。此外,您可能有权为用户安装软件包。

您遇到的权限错误是一个常见问题。可以在这里看到: pip is not able to install packages correctly: Permission denied error 在这里error: could not create '/usr/local/lib/python2.7/dist-packages/virtualenv_support': Permission denied

使用 sudo pip 命令并不像这里解释的那样安全:What are the risks of running 'sudo pip'?

【讨论】:

    【解决方案2】:

    您的用户在 Python 安装文件夹中没有写入权限。

    要修复它,请以 root 身份运行 pip:

    sudo pip install openpyxl

    【讨论】:

      【解决方案3】:

      您的帐户没有对该目录的写入权限?

      1. 如果安装目录是系统拥有的目录,你可以 需要以管理员或“root”帐户登录。

        sudo pip install openpyxl

      2. 如果您没有此计算机的管理访问权限,您可以 希望选择不同的安装目录,最好是一个 列在 PYTHON_PATH 环境变量中。

      3. 更简单的方法:更改目录权限:

        chmod +a 'user:YOUR_USER_NAME 允许 add_subdirectory,add_file,delete_child,directory_inherit' /Library/Python/2.7/site-packages

      【讨论】:

        【解决方案4】:

        为您的用户将站点包文件夹的安全设置更改为“完全控制”并重新运行 pip install openpyxl

        【讨论】:

        • 有比更改安全设置更好的方法。 pip install --user 就是其中之一。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-11
        • 2013-05-02
        • 1970-01-01
        • 2017-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多