在Mac上安装uWSGI时出现错误

28

我需要uWSGI来运行Django项目。但是当我尝试安装uWSGI时,出现了一个错误,提示"Exception: you need a C compiler to build uWSGI"。不过Mac自带gcc编译器。

我从"http://projects.unbit.it/uwsgi/wiki/WikiStart#Getit"下载了uWSGI,并尝试通过命令"python setup.py install"进行安装。

这是我在安装uWSGI时遇到的错误。

running install
using profile: buildconf/default.ini
detected include path: ['/usr/local/include', '/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple
darwin11/4.2.1/include', '/usr/include', '/System/Library/Frameworks', '/Library/Frameworks']
Traceback (most recent call last):
  File "setup.py", line 98, in <module>
    distclass=uWSGIDistribution,
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py",
line 152, in setup
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py",
line 953, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py",
line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 61, in run
    conf = uc.uConf(get_profile())
  File "/Users/jay/Downloads/Softwares/Work/uwsgi-1.2.4/uwsgiconfig.py", line 340, in __init__
    raise Exception("you need a C compiler to build uWSGI")
Exception: you need a C compiler to build uWSGI

当你从命令行输入gcc时会发生什么? - Daniel Roseman
当我在终端中输入gcc时,它会显示“i686-apple-darwin11-llvm-gcc-4.2:没有输入文件”的错误信息。 - Jay
我猜你需要安装开发者工具,即XCode。当你安装XCode时,可以选择不同的软件包。在那里,你需要选择“UNIX开发支持”。之后,尝试重新安装。 - Jens
我已经有Xcode 4.2.1版本了。 - Jay
7个回答

40

已经安装了gcc,只需导出CC=gcc即可。


谢谢,但是如何导出CC=gcc,我在终端中尝试了"export CC=gcc",但没有成功。 - Jay
2
虽然有点晚,但是:$ export CC=gcc && pip install -r requirements.txt - cybertoast
这对我很有用。我必须为fish执行以下操作:“set -x CC gcc” - Subhash

18

distutils可能会返回类似于"gcc-4.2"而不是常规的"gcc"。

使用sudo等命令,您可能希望执行以下操作:

sudo CC=gcc pip install uwsgi

7

安装命令行工具

$xcode-select --install

然后运行。
$pip install uwsgi

0

首先安装gcc编译器

xcode-select --install

0

在您的Mac上安装Xcode,然后在Xcode首选项中选择命令行工具。通过执行pip install uwsgi,它可以正常工作。


0

使用sudo命令来使用pip

有时候,由于权限不足,pip包无法安装或Python无法为虚拟环境创建可运行文件。由于它没有显示权限错误,因此需要花费时间来解决它。您可以使用以下命令来安装它。

sudo python -m pip install uwsgi
或者
sudo pip install uwsgi


0

对于Mac用户来说,这可能是因为Xcode要求你在命令行中接受许可协议才能运行gcc

同意Xcode/iOS许可协议需要管理员权限,请运行“sudo xcodebuild -license”,然后重试该命令。


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