No module named yaml (brew broke my python, again) 没有找到名为yaml的模块(brew又坏了我的Python)
No module named yaml (brew broke my python, again) 没有找到名为yaml的模块(brew又坏了我的Python)
homebrew
再次破坏了Python,这已经是第三次了。我现在遇到了重新安装依赖的问题。目前我无法安装yaml
。
收集yaml 无法找到满足需求的版本yaml(来自版本:) 找不到匹配的分发版本yaml
一些其他建议说尝试pyaml
,但它只是尝试导入yaml
并失败了
追溯最近一次调用(最近的调用最后一次): 文件“script.py”,第13行,在中 导入pyaml 文件“/〜/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py”,第6行,在 中 导入os、sys、io、yaml 导入错误:找不到模块名为yaml
有人知道如何解决这个问题吗?
最近在使用Python时遇到了一个问题,提示"No module named yaml (brew broke my python, again)"。经过一番调查,我发现了问题的原因和解决方法。
首先,Python Package Index(PyPI)中存在两个名字相似的包。一个是"pyyaml",通过"pip install pyyaml"命令可以安装,它用于解析YAML文件。另一个是"pyaml",通过"pip install pyaml"命令可以安装,它可以在Python中对YAML文件进行漂亮的打印,同时还依赖于"pyyaml"包。
因此,解决该问题的方法如下:
1. 首先,使用pip安装"pyyaml"包。
2. 然后,再安装"pyaml"包。
3. 完成以上步骤后,即可解决问题。
另外,我还发现可以在使用Python之前,先创建一个虚拟环境,以防止Homebrew对Python的干扰。创建虚拟环境的方法可以参考文档中的说明。使用虚拟环境的好处是可以运行多个Python版本,而不仅限于Homebrew所需的版本。
有网友提到在虚拟环境中也遇到了同样的问题,并打算尝试安装"pyaml"和"pyyaml"两个包。另一位网友则对此表示好奇,认为如果"yaml"仍然缺失,"pyaml"将无法正常导入。
对于这个问题,可以回答说:在第一步中已经安装了"pyyaml",因此不应该出现"yaml"缺失的情况。
通过以上整理,我们可以很清楚地了解到"No module named yaml (brew broke my python, again)"问题的原因和解决方法。
问题原因:由于使用了Homebrew更改了Python版本,导致无法找到名为yaml的模块。
解决方法:将Homebrew的python更改为python2,并链接系统版本的python到Homebrew的python2版本。
代码如下:
cd /usr/local/bin && ln -s ../Cellar/python/2.7.13_1/bin/python2 python
另外,安装了pyaml和yaml两个包,但是pyaml仍然尝试导入yaml模块,而该模块在安装了这两个包后仍不存在。
参考链接:
- [homebrew changing python to python2](https://stackoverflow.com/questions/45170852)
- [how to fix broken python 2 7 11 after osx updates](https://stackoverflow.com/questions/34303294)