没有名为 yaml 的模块(brew 再次破坏了我的 python)

No module named yaml (brew broke my python, again)

homebrew 又打破了 python 大约第三次。我现在在让依赖项再次工作时遇到问题。此时我无法安装 yaml

Collecting yaml Could not find a version that satisfies the requirement yaml (from versions: ) No matching distribution found for yaml

其他一些建议尝试 pyaml,它再次简单地尝试导入 yaml 但失败了 Traceback (most recent call last): File "script.py", line 13, in <module> import pyaml File "/~/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py", line 6, in <module> import os, sys, io, yaml ImportError: No module named yaml

有人知道如何解决这个问题吗?

Python Package Index.

中有两个包的命名有点不对
  • pip install pyyaml让你import yamlThis package 启用 Python 解析 YAML 文件。
  • pip install pyaml让你import pyamlThis package 允许从 Python 漂亮地打印 YAML 文件,等等。需要安装 pyyaml

所以你的前进方向是:

  1. 安装pyyaml,最好使用pip
  2. 安装pyaml
  3. 利润

第 0 步是 运行 从 virtual environment 开始的所有内容,以防止自制软件再次干扰您的 Python。此选项还允许您 运行 多个版本的 Python,而不仅仅是自制程序所需的版本。

我的解决方案结果是 ,我认为这排除了使用 brew 版本而不是系统版本的可能性

例如python script.py >> python2 script.py

此外,将 python 的系统版本链接到 brew python2 版本也有帮助:

cd /usr/local/bin && ln -s ../Cellar/python/2.7.13_1/bin/python2 python

我也在犹豫接受的答案是否有效,因为 pyaml 仍在尝试 import yaml,通过 __init__.py;即使安装了两个包后也不存在

$ pip install pyaml 
Collecting pyaml
  Using cached pyaml-17.7.2-py2.py3-none-any.whl
Requirement already satisfied: PyYAML in ~/Library/Python/2.7/lib/python/site-packages (from pyaml)
Installing collected packages: pyaml
Successfully installed pyaml-17.7.2
$ pip install yaml 
Collecting yaml
  Could not find a version that satisfies the requirement yaml (from versions: )
No matching distribution found for yaml

例如

  File "/~/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py", line 6, in <module>
    import os, sys, io, yaml