我在使用Python模块PyYAML进行安装/编译时非常困难。我在一个受限制的Linux环境中工作(Ubuntu 14.04,我做不有root)。我不认为这个问题是PyYAML独有的,因为它是我需要的第一个需要gcc
扩展构建的库。
我已经设法apt-get
用户文件夹中的以下软件包,因为我无法写入root拥有的文件夹,但如果更有意义,可以尝试其他文件夹。
我修改了一些允许我获得部分可操作的python环境的环境变量。 apt-get
目标安装为${DEPS_DIR}/apt
:
export PYTHONHOME="${DEPS_DIR}/apt/usr"
export PYTHONIOENCODING=utf8
export CPATH="${DEPS_DIR}/apt/usr/include/python2.7:${DEPS_DIR}/apt/usr/include"
export PATH="${DEPS_DIR}/apt/usr/local/bin"
我怀疑我错过了一个或多个变量,或者路径输入错误以使其正常工作。对于我认为理所当然的问题,大多数SO搜索都可以sudo
安装。
这是我在尝试pip install PyYAML
时看到的具体错误:
在ext / _yaml.h中包含的文件中:2:0, 来自ext / _yaml.c:271:/usr/include/yaml.h:633:1:注意:预期'yaml_char_t *'但参数类型为'char *' yaml_mapping_start_event_initialize(yaml_event_t * event,^ x86_64-linux-gnu-gcc:内部编译器错误:已杀死(程序cc1) 请提交完整的错误报告,如果有预处理来源 适当。看看 说明。错误:命令' x86_64-linux-gnu-gcc'退出失败 状态4
我正在使用pip -V
9.0.1而python -V
是2.7.6。我试图在某一点上安装virtualenv和包装器,但似乎并没有像我在笔记本电脑上那样工作。
答案 0 :(得分:0)
对于一些比较麻烦的python依赖项,通常可以在本地安装其他软件包,以避免一些扩展编译问题。
这两个库都有系统包,避免需要编译:
apt-get python-yaml
apt-get python-websocket