我需要使用libyaml绑定设置PyYAML。
我正在使用5.7版的Red Hat Enterprise Linux客户端工作,我在/tools/Devel/epd_free-7.3-2rh5-x86_64
下安装了Enthought Python 7.3.2的本地副本
并已将/tools/Devel/epd_free-7.3-2rh5-x86_64/bin
添加到$ PATH
我正在处理此本地副本,因为我没有在计算机上拥有root或sudo权限。
要安装libyaml,我已经完成了:
tar -xvzf yaml-0.1.5.tar.gz
cd yaml-0.1.5
./configure prefix=/tools/Devel/epd_free-7.3-2-rh5-x86_64
make
make install
已创建的
/tools/Devel/epd_free-7.3-2rh5-x86_64/include/yaml.h
以及
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/libyaml-0.so.2
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/libyaml-0.so.2.0.3
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/libyaml.a
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/libyaml.la
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/libyaml.so
/tools/Devel/epd_free-7.3-2rh5-x86_64/lib/pkgconfig
然而,当我尝试安装PyYAML时,我得到了
pip install PyYAML
Downloading/unpacking PyYAML
Downloading PyYAML-3.11.tar.gz (248kB): 248kB downloaded
Running setup.py (path:/tmp/pip_build_greglac/PyYAML/setup.py) egg_info for package PyYAML
Installing collected packages: PyYAML
Running setup.py install for PyYAML
checking if libyaml is compilable
gcc -pthread -fno-strict-aliasing -g -O2 -DNDEBUG -O2 -fPIC -I/tools/Devel/epd_free-7.3-2-rh5-x86_64/include/python2.7 -c build/temp.linux-x86_64-2.7/check_libyaml.c -o build/temp.linux-x86_64-2.7/check_libyaml.o
build/temp.linux-x86_64-2.7/check_libyaml.c:2:18: error: yaml.h: No such file or directory
build/temp.linux-x86_64-2.7/check_libyaml.c: In function âmainâ:
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: âyaml_parser_tâ undeclared (first use in this function)
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: (Each undeclared identifier is reported only once
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: for each function it appears in.)
build/temp.linux-x86_64-2.7/check_libyaml.c:5: error: expected â;â before âparserâ
build/temp.linux-x86_64-2.7/check_libyaml.c:6: error: âyaml_emitter_tâ undeclared (first use in this function)
build/temp.linux-x86_64-2.7/check_libyaml.c:6: error: expected â;â before âemitterâ
build/temp.linux-x86_64-2.7/check_libyaml.c:8: error: âparserâ undeclared (first use in this function)
build/temp.linux-x86_64-2.7/check_libyaml.c:11: error: âemitterâ undeclared (first use in this function)
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
Cleaning up...
我认为这是因为PyYAML在默认位置寻找libyaml。是否需要为pyyaml安装指定libyaml的位置?
答案 0 :(得分:0)
使用https://pypi.python.org/simple/pyyaml/并下载PyYAML-3.11.tar.gz在Windows中为我工作
然后我提取它并在打开后我在这个位置写了命令setup.py install
中搜索答案 1 :(得分:0)