Amazon Linux EC2 实例上的 uWSGI 安装异常
Posted
技术标签:
【中文标题】Amazon Linux EC2 实例上的 uWSGI 安装异常【英文标题】:uWSGI installation exception on Amazon Linux EC2 instance 【发布时间】:2014-11-21 21:28:37 【问题描述】:我是一个新手,正在尝试使用 nginx、django、uWSGI 和 mysql 在 Amazon EC2 上为我的第一个电话应用程序设置服务器。
我正在关注那些教程(实际上第二个是基于第一个):
http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html http://www.oliverelliott.org/article/computing/tut_setup_nginx_django/
我使用的是 MacbookPro,在终端中我通过 ssh 连接到 Amazon Linux EC2 实例。 当涉及到安装 uwsgi.. 麻烦出现了。 我执行了:
$ sudo yum install python-pip
$ sudo yum install python-devel
$ sudo pip install uwsgi
前两个工作正常,最后一个命令抛出异常:
Downloading/unpacking uwsgi
Running setup.py egg_info for package uwsgi
Installing collected packages: uwsgi
Running setup.py install for uwsgi
using profile: buildconf/default.ini
detected include path: ['/usr/include', '/usr/local/include']
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-root/uwsgi/setup.py", line 109, in <module>
distclass=uWSGIDistribution,
File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/tmp/pip-build-root/uwsgi/setup.py", line 71, in run
conf = uc.uConf(get_profile())
File "uwsgiconfig.py", line 687, in __init__
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
Complete output from command /usr/bin/python26 -c "import setuptools;__file__='/tmp/pip-build-root/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-l8npX4-record/install-record.txt --single-version-externally-managed:
running install
using profile: buildconf/default.ini
detected include path: ['/usr/include', '/usr/local/include']
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-root/uwsgi/setup.py", line 109, in <module>
distclass=uWSGIDistribution,
File "/usr/lib64/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/lib64/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/usr/lib64/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/tmp/pip-build-root/uwsgi/setup.py", line 71, in run
conf = uc.uConf(get_profile())
File "uwsgiconfig.py", line 687, in __init__
raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI
----------------------------------------
Command /usr/bin/python26 -c "import setuptools;__file__='/tmp/pip-build-root/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-l8npX4-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip-build-root/uwsgi
Storing complete log in /root/.pip/pip.log
我尝试了我阅读的两个建议,但似乎对我不起作用:
$ export CC=gcc && pip install -r requirements.txt
和
$ sudo CC=gcc pip install uwsgi
有什么建议吗?提前非常感谢!
【问题讨论】:
你安装了像 gcc 或 clang 这样的 c 编译器吗? 就是这样......它在做之后工作:sudo yum install gcc。非常感谢罗伯托! :) 【参考方案1】:这个链接帮助了我:uWSGI: Installing from a distribution package
我做到了:
yum groupinstall "Development Tools"
yum install python-devel
然后:
pip install uwsgi
然后它就可以工作了。
【讨论】:
以上是关于Amazon Linux EC2 实例上的 uWSGI 安装异常的主要内容,如果未能解决你的问题,请参考以下文章
为EC2 Amazon Linux实例设置SFTP Sublime Text 3
在启动 Amazon EC2 Linux 实例时自动挂载 EBS 卷