【问题标题】:How to fix ‘“ERROR: Command errored out with exit status 1:” when trying to install watchdog using pip尝试使用 pip 安装看门狗时如何修复“错误:命令错误,退出状态为 1:”
【发布时间】:2019-10-17 00:40:21
【问题描述】:

我正在重新审视 Python 语言,但在设置我的环境时遇到了困难。

我正在使用 - 麦克莫哈韦(10.14) - python 2.7.10(系统自带) - python 3.7.4(使用自制软件安装) - 自制 2.1.14 - 点 19.2.3

我在尝试通过 pip 安装看门狗时遇到错误消息。我认为该错误是由于 pip 尝试安装在 python 2.7 文件夹中(没有足够的权限)而不是 python 3 文件夹引起的

我已经尝试卸载、重新安装和升级 python 3

我在尝试通过 pip 安装看门狗时遇到以下错误消息

 1 error generated.
    Error compiling module, falling back to pure Python
    running install_lib
    creating /Library/Python/2.7/site-packages/yaml
    error: could not create '/Library/Python/2.7/site-packages/yaml': Permission denied
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/4d/spq3r5t92654252ql994_l540000gr/T/pip-install-nqmq6O/PyYAML/setup.py'"'"'; __file__='"'"'/private/var/folders/4d/spq3r5t92654252ql994_l540000gr/T/pip-install-nqmq6O/PyYAML/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/4d/spq3r5t92654252ql994_l540000gr/T/pip-record-g8Qjzh/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.

【问题讨论】:

  • 试试sudo -H python3 -m pip install ...
  • 通常情况下,将sudo 与 pip 一起使用并不是一个好主意,除非您确切地知道自己在做什么,因为可能会破坏操作系统管理的软件包并造成伤害(也以root身份执行任意包代码(setup.py))。作为第一个建议,我肯定会犹豫,至少。

标签: python python-3.x pip python-watchdog


【解决方案1】:

当您运行pip install 时,具体使用哪个pip 取决于您的PATH、shell、shell 配置和操作系统等几个因素。

最好的办法是使用<python> -m pip 调用pip,其中<python> 是您要为其安装包的Python。例如,如果您运行 python3 以使用要为其安装包的 Python,则运行 python3 -m pip

如果您正在运行python3 -m pip install ... 并出现权限错误,那么您可以执行python3 -m pip install --user ...,这会将其安装到您的用户站点包目录中,并且当您在您的用户下执行python3 时可用。

【讨论】:

  • 您建议使用 python3 命令强制 pip 使用正确的版本解决了这个问题,谢谢。现在似乎安装了看门狗包,但在我的 Sublime Text 环境(工具>构建)中没有正确引用但是,当我在终端 shell 中运行脚本时,脚本成功执行。
【解决方案2】:

您需要升级 setuptools 和 pip。你可以通过运行来做到这一点:

pip install -U pip setuptools

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 2020-06-18
    • 2019-12-18
    • 1970-01-01
    • 2023-04-10
    • 2021-07-11
    • 2020-05-02
    相关资源
    最近更新 更多