安装Reportlab(错误:命令'gcc'的退出状态为1)

14

我正在尝试在一个带有virtualenv的10.04.2服务器上安装ReportLab 2.4。 在ReportLab_2_4文件夹中,我使用以下命令:

python setup.py install

我遇到的错误信息如下:

error: command 'gcc' failed with exit status 1


你现在使用的是哪个GCC版本?尝试更新一下,因为可能已经有所更改。 - Louis
5
如果您正在运行基于Debian的系统,请尝试执行以下命令:sudo apt-get install python-dev - Ski
此外,您可以通过错误日志向上滚动到指示错误具体信息的行。您缺少一些开发库。此命令可能会过滤掉有用的消息:python setup.py install 2>&1 | grep missing - Ski
@Skirmantas:两个提示都非常有用。感谢! - user780862
我使用pipeasy_install都遇到了同样的错误。最相关的错误是这个:/env/build/reportlab/src/rl_addons/rl_accel/_rl_accel.c:11:20: fatal error: Python.h: No such file or directory。我已经安装了python-dev。在虚拟环境之外构建工作正常。但是一旦激活环境,它就无法再找到Python.h :( - exhuma
3个回答

13

正如Skimantas所说,我认为您应该安装python-dev。sudo apt-get install python-dev然后我可以使用命令"pip install reportlab"将reportlab安装到我的主目录中,无需像之前的回答中提到的那样使用sudo。我只需要root访问权限来安装python-dev。

简言之...

我安装了virtualenv。

sudo apt-get install python-setuptools
sudo easy_install virtualenv
virtualenv --no-site-packages virtual01

我安装了

sudo apt-get install python-dev

我打开虚拟环境只是为了确保...

source  ~/virtual01/bin/activate

cd ~/virtual01/bin
pip install reportlab

就是这样了。

(我刚刚记录了我在Ubuntu 10.04 LTS上所做的事情)


我使用pipeasy_install都遇到了同样的错误。最相关的错误是这个:/env/build/reportlab/src/rl_addons/rl_accel/_rl_accel.c:11:20: fatal error: Python.h: No such file or directory。我已经安装了python-dev。在虚拟环境之外构建工作正常。但是一旦激活环境,它就无法再找到Python.h :( - exhuma
我仍然需要以sudo身份运行,但可能与我正在使用的虚拟机有关。否则,这对我很有帮助! - kyleturner

0

我在尝试在Mac OS X上安装Reportlab时遇到了非常类似的错误,当时我的系统刚升级到了10.9版本。运行Xcode,同意新的许可协议,然后再试一次。


0

如果有人在AWS EC2 / ElasticBeanstalk上部署reportlab...我的解决方案如下。

deactivate && sudo pip install reportlab
sudo cp -r /usr/local/lib64/python2.7/site-packages/reportlab /opt/python/run/venv/lib/python2.7/site-packages/

这个方法很hacky,但是它是在我的Django堆栈上使用AWS ElasticBeanstalk的解决方法。我只是修改了.ebextensions/02_python.config文件,在继续之前执行了上述操作,我认为它被设置为在使用pip安装requirements.txt到虚拟环境之后执行第二步。


这与AWS EC2无关。为什么在虚拟环境中pip install不起作用,而sudo pip install却可以? - Martijn Pieters
@MartijnPieters 在虚拟环境中运行 pip install reportlab 会失败,但是运行 deactivate 然后再运行 sudo pip install reportlab 就可以成功安装 reportlab,然后我只需将其复制到 venv 目录中。我通过激活环境并启动 Python 的 REPL 并导入 reportlab 来测试它是否正确安装。一切正常。编辑:我想目录不特定于 EC2。 - Adam Heller
@Tech1:所以你的超级用户环境包含了构建扩展所需的正确环境变量。也许现在是时候弄清楚你的常规环境缺少什么了? - Martijn Pieters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接