pip Python 3 权限错误

2023-12-11

我在 Mac OS X 上使用 Python 3。一切都很完美,我曾经安装这样的软件包:

pip install somePackage

但 IDLE 停止工作,所以我不得不重新安装它。之后,当我运行 pip 时,我得到了pip is not defined所以我必须安装pip。现在,每次我尝试使用 pip 安装软件包时,都会收到此错误:

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/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-9.0.1-py2.7.egg/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 377, in move_wheel_files
    clobber(source, dest, False, fixer=fixer, filter=filter)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 287, in clobber
    ensure_dir(dest)  # common for the 'include' path
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 83, in ensure_dir
    os.makedirs(path)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 1] Operation not permitted: '/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pygame'

我认为可能是版本问题,所以更新了它。现在,每当我跑步时pip install something我收到此错误:

命令“/usr/bin/python -u -c”导入setuptools,标记化;file='/private/var/folders/bc/hwpn9sqn5352xcbst0p89snm0000gn/T/pip-build-hSNyxK/termcolor/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(编译(code,file,'exec'))" install --record /var/folders/bc/hwpn9sqn5352xcbst0p89snm0000gn/T/pip-U3ZtNq-record/install-record.txt --single-version-externally-management --compile" 失败,并显示错误代码1 在 /private/var/folders/bc/hwpn9sqn5352xcbst0p89snm0000gn/T/pip-build-hSNyxK/termcolor/

我什至无法删除包 - 当我运行时pip uninstall something我收到此错误:

Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/uninstall.py", line 76, in run
    requirement_set.uninstall(auto_confirm=options.yes)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 346, in uninstall
    req.uninstall(auto_confirm=auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/utils/__init__.py", line 267, in renames
    shutil.move(old, new)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
    copystat(src, dst)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
    os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/bc/hwpn9sqn5352xcbst0p89snm0000gn/T/pip-OQKY_a-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy-1.8.0rc1-py2.7.egg-info'

我的点子版本是:

pip 9.0.1 from /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (python 2.7)

我使用的是Mac 10.12.6

我怎样才能解决这个问题?


您看到的权限错误是由于您的site-packages目录(pip 尝试安装到的目录)受管理员保护并拥有。

站点包目录在哪里

这取决于您的 Python 发行版。这就是为什么我要求您包含以下输出$ which python命令(来自命令行),以及>>> import site; site.getsitepackages()命令(来自 Python)。这些将帮助您找出站点包目录的位置。另外,跑步pip -v将打印 pip 尝试安装的目录。

需要注意的是,Mac 附带了 Python 系统版本。您不应该安装任何可访问此系统版本的 Python 的软件包,因为它由系统使用,您可能会干扰其正常工作和/或安装恶意版本的软件包,这些版本在系统使用该 Python 时会做坏事(例如,如果有人制作了一个讨厌的鸡蛋,并将其命名为“os”,并将其放入系统 Python 的 site-packages 目录中,那么下次系统 python 版本运行“import os”时,它将导入讨厌的鸡蛋。)

为什么要覆盖sudo pip install不是一个好的解决方案

在运行你的pip install像 sudo 一样命令probably解决问题,这是一个短期解决方案very bad出于我在 @Nenand 的回答中的评论中提到的原因 - 跑步pip install X从互联网上下载X的egg,并运行python setup.py build && python setup.py install无论发生在setup.py。虽然很容易因为“嘿,它有效!”而自满,但这样做也很天真。信任互联网上的陌生人(让我们面对现实吧,制作 pip 包的人are对你来说是陌生人)。

EDIT:我什至没有想到这一点,但也有可能您输入错误的库,或者猜错名称,并最终得到您真正不想要的库(误植)。看这台发出声音的电脑关于 pip 包拼写错误的文章。

正确的解决方案

正确的解决方案是弄清楚why your site-packages目录受到保护,要么修复其权限,要么更改site-packagespip 正在使用的目录。

I suspect the reason you're seeing this permissions error is that pip is trying to install to the system Python's site-packages directory, which is owned by root for a good reason. The system Python is located at /usr/bin/ and its site-packages directory is located at the following directories:

'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/site-python'
'/Library/Python/2.7/site-packages'

在这种情况下,我的建议是使用 Homebrew、Python.org 或 Canopy 安装 Python,这会将你的蛇关在单独的笼子里,而不会影响系统 Python。在我的系统上,python是系统python,python2是 Python 版本 2,并且python3是Python版本3。这也让我更清楚我正在使用哪个版本。我也没有pip命令 - 不在我的路径上 - 所以我不会意外地将某些东西安装到我的系统 Python 中。我必须明确调用pip2 or pip3。使用 Homebrew Python 将为您完成所有这些工作,因此这是我在众多可用 Python 发行版中最喜欢的推荐。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pip Python 3 权限错误 的相关文章

随机推荐

  • Laravel:使用 try...catch 和 DB::transaction()

    我们都用DB transaction 对于多个插入查询 这样做时 应该try catch放在里面还是包裹起来 是否还需要包括一个try catch如果出现问题 交易什么时候会自动失败 Sample try catch包装交易 try cat
  • HTML 画布悬停文本

    我有一个 HTML 画布 其中包含所有不同大小的不同形状 它是通过解析外部文件中的信息来构建的 我想知道如何制作 以便将鼠标悬停在每个形状上都会显示其唯一的名称 我找到了有关如何在鼠标悬停时显示文本的资源whole画布 但我需要每个单独的形
  • 以编程方式推广 QWidget

    我有一个 ui 文件 其中包含QProgressBar in a QWidget 此外 我创建了继承自的自定义进度条组件QProgressBar 在QT Designer中 我可以推广QProgressBar小部件到我的自定义小部件 有没有
  • 计算数组中的重复项[重复]

    这个问题在这里已经有答案了 我正在尝试显示数组的内容 但如果存在重复项 则仅打印名称和数字 例如 myArr apple apple orange apple banana orange pineapple 会显示 apple 3 oran
  • 无法使用 TesseractOCRConfig Apache Tika 提取扫描的 pdf

    我的 pdf 包含扫描图像 我想从中提取文本 我尝试过的 我尝试使用 AutoDetectParser 但没有输出 我按照中提供的解决方案进行操作Apache Tika 提取扫描的 PDF 文件还有 Apache Tika Jira 位于h
  • 使用 python 脚本发送嵌入图像的 html 电子邮件

    我是Python新手 我想发送基于 html 的电子邮件 并在电子邮件正文的左上角嵌入公司徽标 使用以下代码 电子邮件绝对可以正常工作 但不再附加嵌入的图像 不知道我哪里做错了 任何人都可以帮我吗 import smtplib from e
  • 在Python中读取文件并将值存储到变量中

    假设我有一个文件名 test txt 其中包含以下数据 AA11 BB11 CC11 DD11 AA22 BB22 CC22 DD22 AA33 BB44 CC44 DD33 在 bash shell 脚本 中我可以执行以下操作 cat t
  • 在以下任何来源中均未找到 Bumblebee Android studio 插件 [id: 'com.android.application', 版本: '7.1.0', apply: false]:

    我将我的 android studio 从 Android studio Fox 更新为 Android studio Bumblebee 2021 1 1 但我的项目都不能运行Android 工作室大黄蜂 2021 1 1 我最终得到了这
  • 使用 CSS 实现内部文本阴影

    我目前正在使用 CSS3 并尝试实现这样的文本效果 黑色模糊的内部阴影 但我找不到创建文本阴影的方法inside文本 我想知道这是否仍然可能 因为 box shadow 元素能够像这样在内部渲染阴影 box shadow inset 0px
  • Google 云存储签名 URL 上传 + Dropzone.js

    我正在尝试使用 Dropzone js 使用签名 URL 直接上传到 Google Cloud Storage 我已经设法覆盖添加到 Dropzone 的每个文件的上传 URL Chrome 开发工具说PUT请求正在发生 但我不可避免地收到
  • SOCKS5 连接超时 (GCDAsyncSocket)。 (OpenFire、XEP-0065 和 iOS XMPPFramework)

    Problem 我正在尝试使用 iOS XMPPFramework 和 OpenFire 服务器进行 TURNSocket XEP 0065 SOCKS5 我希望能够发送和接收文件 然而 在大多数情况下 接收方不会返回任何响应 我目前怀疑问
  • 如何在手机上点击网页链接时触发电话

    我需要为移动设备构建一个网页 只有一件事我还没弄清楚 如何通过点击文字来触发电话 有没有我可以输入的特殊网址 例如mailto 电子邮件标签 设备特定的解决方案不是首选 我知道 iPhone 会自动识别电话号码并为此创建一个链接 但如果也可
  • 自动布局,无需使用 Storyboards 或 Interface Builder

    我正在构建一个应用程序 我想完全避免使用 Storyboard 和 Interface Builder 因此所有 UI 都应该在代码中指定 我在用纯布局 一个很好的配置 APIAutoLayout限制 然而 我的问题是 它看起来像AutoL
  • 将非托管 char** 封送至托管 string[]

    我在 DLL 文件中有一个 C 函数 它是使用多字节字符集选项编译的 declspec dllexport void TestArray char OutBuff int Count int MaxLength for int i 0 i
  • 如何将图像传递到 html 文本区域 [关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 我想知道如何将图像从图像库传递到 html 文本区域 我应该使用 jquery javascript 吗 你知道关于这个函数的一些好的教程吗 通过操作系统内置选择器选择图像后
  • Julia 1.0 UndefVarError - 变量范围

    我将从 Julia 0 7 升级到 1 0 看来 Julia 对变量范围的规则从 0 7 更改为 1 0 例如 我想运行一个像这样的简单循环 num 0 for i 1 5 if i 3 num num 1 end end print nu
  • 如何用纯 JavaScript 制作这样的工具提示

    我需要使用 JS 而非 JQuery 插件来制作一个简单的工具提示 如下图所示 Click on image should open this tooltip and click again on the same image to clo
  • 反序列化时如何忽略 JSON 对象数组中的空白数组?

    我正在使用 Json NET 反序列化 JSON 我怎样才能忽略一个空白数组意外发生在对象数组反序列化期间 我已经在这个网站上测试了来自第三方的以下 JSONhttp json parser online fr 确认它是格式良好的 tota
  • 每个 google-maps api 密钥的引荐来源限制

    我们为超过 2500 家客户提供网站 CMS 解决方案 几乎所有网站都有谷歌地图模块 因此 自从谷歌改变了其地图使用政策以来 所有这些网站的地图模块日复一日地出现错误 我们需要想出一些快速 但肮脏 的解决方案 我们决定使用多个 api ke
  • pip Python 3 权限错误

    我在 Mac OS X 上使用 Python 3 一切都很完美 我曾经安装这样的软件包 pip install somePackage 但 IDLE 停止工作 所以我不得不重新安装它 之后 当我运行 pip 时 我得到了pip is not