2

I'm working in Ubuntu 10.04. The default python on my machine is 2.6. I created a virutalenv with python 2.7. I am writing a django app to be run on googleappengine. In order to use an ImageField in one of my models I need to install PIL. There are many, many posts about installing PIL, and I have followed many of them with no success.

I am able to successfuly run

sudo pip install PIL

but my virtualenv cannot access it. When I run

pip install PIL

inside my virtualenv I get a gcc error.

I installed all the dependencies, apt-get installed python-imaging, downloaded PIL and tried to build/install with setup.py and followed many other instructions in the many posts I've read.

Does anyone have any ideas?

EDIT:

The error:

error: command 'gcc' failed with exit status 1

EDIT: AS MUCH OF THE ERROR AS I CAN PASTE (THE REST IS OFF THE SCREEN)

 _imaging.c:301: error: ‘PyExc_IOError’ undeclared (first use in this function)

_imaging.c:302: error: ‘NULL’ undeclared (first use in this function)

_imaging.c: In function ‘ImagingError_MemoryError’:

_imaging.c:308: warning: implicit declaration of function ‘PyErr_NoMemory’

_imaging.c:308: warning: return makes pointer from integer without a cast

_imaging.c: In function ‘ImagingError_Mismatch’:

_imaging.c:314: error: ‘PyExc_ValueError’ undeclared (first use in this function)

_imaging.c:315: error: ‘NULL’ undeclared (first use in this function)

_imaging.c: In function ‘ImagingError_ModeError’:

_imaging.c:321: error: ‘PyExc_ValueError’ undeclared (first use in this function)

_imaging.c:322: error: ‘NULL’ undeclared (first use in this function)

_imaging.c: In function ‘ImagingError_ValueError’:

_imaging.c:329: error: ‘PyExc_ValueError’ undeclared (first use in this function)

_imaging.c:332: error: ‘NULL’ undeclared (first use in this function)

_imaging.c: In function ‘ImagingError_Clear’:

_imaging.c:338: warning: implicit declaration of function ‘PyErr_Clear’

_imaging.c: At top level:

_imaging.c:369: error: expected ‘)’ before ‘*’ token

_imaging.c:464: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:510: error: expected ‘)’ before ‘*’ token

_imaging.c:587: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:619: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:631: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:643: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:655: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:664: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:675: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:686: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:697: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:719: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:743: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:760: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:777: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:786: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:803: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:813: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:824: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:857: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:879: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:914: error: expected ‘)’ before ‘*’ token

_imaging.c:954: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:981: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1054: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1065: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1075: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1114: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1191: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1202: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1339: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1359: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1394: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1419: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1448: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1459: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1479: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1530: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1568: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1614: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1689: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1739: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1765: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1771: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1783: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1817: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1845: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1874: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1885: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1901: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1922: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1928: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1939: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1950: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1961: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1972: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:1983: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2001: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2019: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2030: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2041: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2052: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2063: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2081: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c: In function ‘_font_dealloc’:

_imaging.c:2142: warning: implicit declaration of function ‘Py_XDECREF’

_imaging.c:2142: error: ‘ImagingFontObject’ has no member named ‘ref’

_imaging.c: In function ‘textwidth’:

_imaging.c:2152: error: ‘ImagingFontObject’ has no member named ‘glyphs’

_imaging.c: At top level:

_imaging.c:2157: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2205: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2215: error: array type has incomplete element type

_imaging.c:2216: error: ‘PyCFunction’ undeclared here (not in a function)

_imaging.c:2216: error: expected ‘}’ before ‘_font_getmask’

_imaging.c:2217: error: expected ‘}’ before ‘_font_getsize’

_imaging.c:2218: error: ‘NULL’ undeclared here (not in a function)

_imaging.c:2221: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2229: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c: In function ‘_draw_dealloc’:

_imaging.c:2257: error: ‘ImagingDrawObject’ has no member named ‘image’

_imaging.c: At top level:

_imaging.c:2261: error: expected ‘)’ before ‘*’ token

_imaging.c:2263: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2278: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2298: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2335: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2353: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2390: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2406: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2459: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2474: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2507: error: expected ‘)’ before ‘*’ token

_imaging.c:2509: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2536: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2554: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2600: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2637: error: array type has incomplete element type

_imaging.c:2640: error: expected ‘}’ before ‘_draw_line’

_imaging.c:2641: error: expected ‘}’ before ‘_draw_lines’

_imaging.c:2643: error: expected ‘}’ before ‘_draw_outline’

_imaging.c:2645: error: expected ‘}’ before ‘_draw_polygon’

_imaging.c:2646: error: expected ‘}’ before ‘_draw_rectangle’

_imaging.c:2647: error: expected ‘}’ before ‘_draw_point’

_imaging.c:2648: error: expected ‘}’ before ‘_draw_points’

_imaging.c:2649: error: expected ‘}’ before ‘_draw_arc’

_imaging.c:2650: error: expected ‘}’ before ‘_draw_bitmap’

_imaging.c:2651: error: expected ‘}’ before ‘_draw_chord’

_imaging.c:2652: error: expected ‘}’ before ‘_draw_ellipse’

_imaging.c:2653: error: expected ‘}’ before ‘_draw_pieslice’

_imaging.c:2654: error: expected ‘}’ before ‘_draw_ink’

_imaging.c:2659: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2668: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c: In function ‘pixel_access_dealloc’:

_imaging.c:2693: error: ‘PixelAccessObject’ has no member named ‘image’

_imaging.c: At top level:

_imaging.c:2697: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2708: error: expected declaration specifiers or ‘...’ before ‘PyObject’

_imaging.c:2708: error: expected declaration specifiers or ‘...’ before ‘PyObject’

_imaging.c: In function ‘pixel_access_setitem’:

_imaging.c:2710: error: ‘PixelAccessObject’ has no member named ‘image’

_imaging.c:2714: error: ‘PixelAccessObject’ has no member named ‘readonly’

_imaging.c:2719: warning: implicit declaration of function ‘_getxy’

_imaging.c:2719: error: ‘xy’ undeclared (first use in this function)

_imaging.c:2723: error: ‘PyExc_IndexError’ undeclared (first use in this function)

_imaging.c:2727: error: ‘color’ undeclared (first use in this function)

_imaging.c:2730: warning: implicit declaration of function ‘getink’

_imaging.c:2733: error: ‘PixelAccessObject’ has no member named ‘image’

_imaging.c: At top level:

_imaging.c:2744: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2763: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2774: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2791: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2811: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2846: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:2867: error: array type has incomplete element type

_imaging.c:2870: error: expected ‘}’ before ‘_getpixel’

_imaging.c:2871: error: expected ‘}’ before ‘_putpixel’

_imaging.c:2873: error: expected ‘}’ before ‘pixel_access_new’

_imaging.c:2876: error: expected ‘}’ before ‘_convert’

_imaging.c:2877: error: expected ‘}’ before ‘_convert2’

_imaging.c:2878: error: expected ‘}’ before ‘_convert_matrix’

_imaging.c:2879: error: expected ‘}’ before ‘_copy’

_imaging.c:2880: error: expected ‘}’ before ‘_copy2’

_imaging.c:2884: error: expected ‘}’ before ‘_crop’

_imaging.c:2885: error: expected ‘}’ before ‘_expand’

_imaging.c:2886: error: expected ‘}’ before ‘_filter’

_imaging.c:2887: error: expected ‘}’ before ‘_histogram’

_imaging.c:2889: error: expected ‘}’ before ‘_modefilter’

_imaging.c:2891: error: expected ‘}’ before ‘_offset’

_imaging.c:2892: error: expected ‘}’ before ‘_paste’

_imaging.c:2893: error: expected ‘}’ before ‘_point’

_imaging.c:2894: error: expected ‘}’ before ‘_point_transform’

_imaging.c:2895: error: expected ‘}’ before ‘_putdata’

_imaging.c:2897: error: expected ‘}’ before ‘_quantize’

_imaging.c:2900: error: expected ‘}’ before ‘_rankfilter’

_imaging.c:2902: error: expected ‘}’ before ‘_resize’

_imaging.c:2903: error: expected ‘}’ before ‘_rotate’

_imaging.c:2904: error: expected ‘}’ before ‘_stretch’

_imaging.c:2905: error: expected ‘}’ before ‘_transpose’

_imaging.c:2906: error: expected ‘}’ before ‘_transform2’

_imaging.c:2908: error: expected ‘}’ before ‘_isblock’

_imaging.c:2910: error: expected ‘}’ before ‘_getbbox’

_imaging.c:2911: error: expected ‘}’ before ‘_getcolors’

_imaging.c:2912: error: expected ‘}’ before ‘_getextrema’

_imaging.c:2913: error: expected ‘}’ before ‘_getprojection’

_imaging.c:2915: error: expected ‘}’ before ‘_getband’

_imaging.c:2916: error: expected ‘}’ before ‘_putband’

_imaging.c:2917: error: expected ‘}’ before ‘_fillband’

_imaging.c:2919: error: expected ‘}’ before ‘im_setmode’

_imaging.c:2921: error: expected ‘}’ before ‘_getpalette’

_imaging.c:2922: error: expected ‘}’ before ‘_putpalette’

_imaging.c:2923: error: expected ‘}’ before ‘_putpalettealpha’

_imaging.c:2927: error: expected ‘}’ before ‘_chop_invert’

_imaging.c:2928: error: expected ‘}’ before ‘_chop_lighter’

_imaging.c:2929: error: expected ‘}’ before ‘_chop_darker’

_imaging.c:2930: error: expected ‘}’ before ‘_chop_difference’

_imaging.c:2931: error: expected ‘}’ before ‘_chop_multiply’

_imaging.c:2932: error: expected ‘}’ before ‘_chop_screen’

_imaging.c:2933: error: expected ‘}’ before ‘_chop_add’

_imaging.c:2934: error: expected ‘}’ before ‘_chop_subtract’

_imaging.c:2935: error: expected ‘}’ before ‘_chop_add_modulo’

_imaging.c:2936: error: expected ‘}’ before ‘_chop_subtract_modulo’

_imaging.c:2937: error: expected ‘}’ before ‘_chop_and’

_imaging.c:2938: error: expected ‘}’ before ‘_chop_or’

_imaging.c:2939: error: expected ‘}’ before ‘_chop_xor’

_imaging.c:2944: error: expected ‘}’ before ‘_gaussian_blur’

_imaging.c:2945: error: expected ‘}’ before ‘_unsharp_mask’

_imaging.c:2950: error: expected ‘}’ before ‘_effect_spread’

_imaging.c:2954: error: expected ‘}’ before ‘_new_array’

_imaging.c:2955: error: expected ‘}’ before ‘_new_block’

_imaging.c:2958: error: expected ‘}’ before ‘_save_ppm’

_imaging.c:2967: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c: In function ‘image_length’:

_imaging.c:2996: error: ‘ImagingObject’ has no member named ‘image’

_imaging.c: At top level:

_imaging.c:3001: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3016: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘image_as_sequence’

_imaging.c:3029: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘PyTypeObject’

_imaging.c:3050: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘PyTypeObject’

_imaging.c:3062: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘PyTypeObject’

_imaging.c:3076: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘pixel_access_as_mapping’

_imaging.c:3084: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘PyTypeObject’

_imaging.c:3106: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3107: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3108: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3109: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3110: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3111: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3112: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3113: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3114: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3115: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3116: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3117: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3118: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3119: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3120: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3123: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3124: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3125: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3126: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3127: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3128: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3129: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3144: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3147: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3149: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3150: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘*’ token

_imaging.c:3152: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘functions’

_imaging.c:3250: warning: return type defaults to ‘int’

_imaging.c: In function ‘DL_EXPORT’:

_imaging.c:3250: error: expected declaration specifiers before ‘init_imaging’

_imaging.c:3281: error: expected ‘{’ at end of input

error: command 'gcc' failed with exit status 1

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
hgolov
  • 650
  • 1
  • 11
  • 28
  • "inside my virtualenv I get a gcc error." - and which error exactly? –  Jan 06 '13 at 08:14
  • What Burhan Khalid says is correct. You might also want to have a look at [this SO post](http://stackoverflow.com/questions/4435016/install-pil-on-virtualenv-with-libjpeg), since it is a problem I came across a couple of times. – nvlass Jan 06 '13 at 08:41
  • 1
    How did you install Python2.7? Seems the system cannot find the Python build headers. – Burhan Khalid Jan 06 '13 at 09:02
  • Well you need to figure out where the Python headers are, if you installed from some `.deb` then you will have to download the source manually. – Burhan Khalid Jan 06 '13 at 09:14
  • Can you point me in the correct direction? Which source would I have to download? Python 2.7? – hgolov Jan 06 '13 at 09:20

4 Answers4

2

To install PIL in a virtual environment, first you need to make sure all the dependencies are available on your system.

First, make sure your build environment is installed. Run sudo apt-get install build-essential, then run this command:

sudo apt-get build-dep python-imaging

Once that is done (it may take some time), activate your virtual environment without using sudo and then agin without using sudo run pip install PIL inside your virtual environment.

When you did sudo pip install PIL this installed it in the system-wide Python, and not in your virtual environment.

Burhan Khalid
  • 169,990
  • 18
  • 245
  • 284
2

This is the guide I use, when installing in a new machine:

Dependecies required:

  • libjpeg8
  • libjpeg8-dev
  • libfreetype6
  • libfreetype6-dev
  • zlib1g
  • zlib1g-dev

And double check the symlinks

HTH

jfunez
  • 397
  • 6
  • 23
2

Thank you Burhan Khalid for your pointers, they sent me on the way.

What I needed to do was

sudo apt-get install python2.7-dev.

That added Python.h to usr/include/python2.7, and gcc was then able to compile PIL.

Thank you!

hgolov
  • 650
  • 1
  • 11
  • 28
1

You may have better luck with Pillow. Pillow is a fork of PIL which addresses the setuptools incompatibility of PIL.

Joseph Sheedy
  • 6,296
  • 4
  • 30
  • 31