Compile failed with error code 1 in /tmp/pip_build_root/uwsgi

16,213

May be a little late to answer your question but putting my answer could help people later.

I looked backward at the log and saw these lines.

[x86_64-linux-gnu-gcc -In file included from plugins/python/python_plugin.c:1:0:
plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
 #include 
                   ^
compilation terminated.

It turned out that it couldn't find Python.h. Installing python2.7-dev fixed the problem for me.

apt-get install -y python2.7-dev
Share:
16,213
user1592380
Author by

user1592380

Updated on July 17, 2022

Comments

  • user1592380
    user1592380 almost 2 years

    I'm trying to follow the tutorial at http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html. I've gotten everything working down tohttp://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html#install-uwsgi-system-wide. I am working with an ubuntu 14.4 instance on amazon EC2:

    Without going into my virtualenv , I ran:

    sudo pip install uwsgi 
    

    This led to :

    ----------------------------------------
    Cleaning up...
    Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/uwsgi/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-64P2dl-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/uwsgi
    Storing debug log for failure in /home/ubuntu/.pip/pip.log
    

    The log has:

    Cleaning up...
      Removing temporary dir /tmp/pip_build_ubuntu...
    Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-uLEPHb-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-hPh8D0-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-uLEPHb-build
    Exception information:
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
        status = self.run(options, args)
      File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 283, in run
        requirement_set.install(install_options, global_options, root=options.root_path)
      File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1435, in install
        requirement.install(install_options, global_options, *args, **kwargs)
      File "/usr/lib/python2.7/dist-packages/pip/req.py", line 706, in install
        cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
      File "/usr/lib/python2.7/dist-packages/pip/util.py", line 697, in call_subprocess
        % (command_desc, proc.returncode, cwd))
    InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-uLEPHb-build/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-hPh8D0-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip-uLEPHb-build
    

    What am I doing wrong?

  • TheBurgerShot
    TheBurgerShot over 7 years
    Fixed it for me too
  • securecurve
    securecurve over 7 years
    apt-get install -y python3-dev also for python3 environments
  • Marc
    Marc almost 6 years
    I'm using Anaconda for python 3. I had the same error as the OP (caused by 'LTO version') and it turned out that I had to install different compilers: conda install gxx_linux-64 and then I could do pip install uwsgi successfully
  • BIOHAZARD
    BIOHAZARD over 4 years
    In some cases yum install gcc python36-devel