问题
homebrew
has again broken python for about third time. Im now having issues getting dependencies to work again. At this point I am unable to install yaml
.
Collecting yaml
Could not find a version that satisfies the requirement yaml (from versions: )
No matching distribution found for yaml
Some other suggestions have said to try pyaml
, which again simply tries to import yaml
and fails
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
Anyone have an idea how to get this sorted out?
回答1:
There are two packages with somewhat unfortunate naming in the Python Package Index.
pip install pyyaml
lets youimport yaml
. This package enables Python to parse YAML files.pip install pyaml
lets youimport pyaml
. This package allows pretty-printing of YAML files from Python, among other things. It requirespyyaml
to be installed.
So the way forward for you is:
- Install
pyyaml
, preferably using pip - Install
pyaml
- Profit
Step 0 would be to run everything from a virtual environment to prevent homebrew from messing with your Python ever again. This option also lets you run multiple versions of Python, not just the one required by homebrew.
回答2:
The solution for me turned out to be homebrew changing python to python2, which I believe precludes using the brew version instead of the system version
eg python script.py
>> python2 script.py
Additionally, linking the system version of python
to the brew python2
version helped as well:
cd /usr/local/bin && ln -s ../Cellar/python/2.7.13_1/bin/python2 python
I'm also hesitant the accepted answer will work, as pyaml
is still attempting to import yaml
, via __init__.py
; which does not exist even after installing both packages
$ 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
eg
File "/~/virtualenv/project/lib/python2.7/site-packages/pyaml/__init__.py", line 6, in <module>
import os, sys, io, yaml
来源:https://stackoverflow.com/questions/45619886/no-module-named-yaml-brew-broke-my-python-again