我想在我的pip项目中使用PyYaml,但在使用它作为依赖项时遇到了问题。主要的问题是pip中的PyYaml不是跨平台安装。
如何使用pip安装pyyaml以使其正常工作。请注意,在当前全新的Ubuntu安装中,我在运行pip install pyyaml
时遇到以下错误
Installing collected packages: pyyaml
Running setup.py install for pyyaml
checking if libyaml is compilable
gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIC -I/usr/include/python3.2mu -c build/temp.linux-x86_64-3.2/check_libyaml.c -o build/temp.linux-x86_64-3.2/check_libyaml.o
build/temp.linux-x86_64-3.2/check_libyaml.c:2:18: fatal error: yaml.h: No such file or directory
compilation terminated.
libyaml is not found or a compiler error: forcing --without-libyaml
(if libyaml is installed correctly, you may need to
specify the option --include-dirs or uncomment and
modify the parameter include_dirs in setup.cfg)
Successfully installed pyyaml
请注意,错误显示为"successfully“,但事实并非如此。我不能import yaml
由于我的第一句话,我并不是在寻找"use apt-get“的答案。我需要安装是跨平台的,并作为一个圆点依赖的工作,我不是简单地想知道如何正确安装它。
如果这是不可能的,有没有我可以用来替代的库?
发布于 2014-07-17 05:50:56
您将需要一些额外的包来构建它。
首先,您需要卸载pyyaml
,否则它稍后会提示您已经安装了它
pip uninstall pyyaml
然后安装以下软件包:
sudo apt-get install libyaml-dev libpython2.7-dev
最后再安装一次
pip install pyyaml
发布于 2020-10-14 04:33:57
使用塞勒姆的答案作为指导,我能够通过执行以下操作在Python3.8中安装带有libyaml绑定的PyYAML:
sudo apt-get install libyaml-dev libpython3.8-dev
pip install pyyaml --global-option=--with-libyaml
如果不指定--global-option=--with-libyaml
选项,它将不会提取绑定,从而导致无法访问CSafeLoader和CSafeDumper类。
https://stackoverflow.com/questions/24791251
复制相似问题