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

时间:2017-08-10 17:19:09

标签: python python-2.7 homebrew requirements.txt

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

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

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. 利润
  4. 步骤0将运行virtual environment中的所有内容,以防止自制程序再次弄乱您的Python。此选项还允许您运行多个版本的Python,而不仅仅是自制软件所需的版本。

答案 1 :(得分:0)

我的解决方案原来是homebrew changing python to python2,我认为排除使用brew版本而不是系统版本

例如python script.py&gt;&gt; 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