2013-09-01 3 views
2

Я пытаюсь установить pycrypto на свою машину Windows. Я использую mingw, и distutils использует его. Ошибка вот что я получаю:Не удается установить pycrypto на windows virtualenv

In file included from C:\Python27\include/pyconfig.h:68:0, 

from C:\Python27\include/Python.h:8, 

from src/winrand.c:33: 

c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/io.h:301:1: error: unknown type name 'off64_t' 

c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/io.h:301:36: error: unknown type name 'off64_t' 

c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/io.h:302:1: error: unknown type name 'off64_t' 

c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/io.h:302:39: error: unknown type name 'off64_t' 

src/winrand.c:38:0: warning: "_WIN32_WINNT" redefined [enabled by default] 

In file included from c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/_mingw.h:35:0, 

from c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/io.h:27, 

from C:\Python27\include/pyconfig.h:68, 

from C:\Python27\include/Python.h:8, 

from src/winrand.c:33: 

c:\mingw\bin../lib/gcc/mingw32/4.7.2/../../../../include/sdkddkver.h:154:0: note: this is the location of the previous definition 

error: command 'gcc' failed with exit status 1 

Edit: Я нашел это, но я не знаю, как исправить пункт установить с ним. http://ac-archive.sourceforge.net/largefile/largefiles_win32.print.html

+0

Возможно, это проблема с 32-го и 64-разрядным версиями, так как вы смешиваете их где-то так или иначе? – martineau

+0

Это то, о чем я подумал, поэтому я вытер весь компьютер и начал работу, и только взял 32-битные предметы. – Greg

+1

может быть актуальным: https://github.com/pagespeed/ngx_pagespeed/issues/166 –

ответ

2

Я столкнулся с той же проблемой при создании ткани в окнах. Причина была в gcc config mingw32 при построении pycrypto. В настройке gcc -std устанавливается в c99. Но, когда -std является c99, __STRICT_ANSI__ определено, и typedef _off_t off_t и _off64_t off64_t в "sys/types.h" пропущены. Мне удалось создать pycrypto, изменив sys/types.h в mingw32, но это было жестоко.

0
  1. Создать virtualenv (я обычно ставлю все мое на рабочем столе)

  2. Загрузить двоичный PyCrypto (соответствие вашей установленной версии питона и архитектуры - нет поддержки Python3 как сейчас) - http://www.voidspace.org.uk/python/modules.shtml

  3. навигации к easy_install исполняемым (под Lib\site-packages) в папке virtualenv вы создали и запустить PyCrypto установки: easy_install C:\path\to\the\download\pycrypto-2.6.win-amd64-py2.7.exe