Не удается установить Cython с Python 3.2 и MinGW32 под Cygwin или DOS Comandprompt - PullRequest
0 голосов
/ 28 мая 2011

Я пытаюсь установить Cython 0.14 на 32-битную Windows 7 в сочетании с Python 3.2. Я следовал инструкциям, данным на http://wiki.cython.org/InstallingOnWindows,, но столкнулся с несколькими проблемами. Я думаю, что я точно следовал инструкции для MinGW, за исключением части об открытии подсказки и проверке, правильно ли я установил MinGW (Как мне это проверить?).

Сначала я столкнулся с некоторыми ошибками при попытке установить Cython, набрав

python setup.py install

в cygwin, но я решил это. Тем не менее, мой python 3.2 все еще не знал о существовании Cython, поэтому я обнаружил, что проблема связана с установкой cython в c: \ cygwin \ lib \, в то время как python устанавливается в c: \ python32. Поэтому я пробовал разные способы перемещения cython в папку python, но, поскольку я не знал, куда именно все идет, эти попытки не увенчались успехом.

Тем временем я пытался найти разные, более быстрые интерпретаторы python и установил pypy. Я также переустановил python 3.2, чтобы устранить беспорядок, который я создал, пытаясь установить cython в каталог python.

Затем позже я попытался установить cython снова, используя командную строку, с тем же сценарием, но обнаружил, что версия python по умолчанию была изменена на 2.6, что, вероятно, произошло при неудачной установке cython. Но обнаружив, что python 2.6 не может скомпилировать файл setup.py, я просто сделал

c:\python32\python setup.py install

в каталоге cython. Это работало, пока не дало мне ошибку

TypeError: NoneType() is Unordered: if self.gcc_version <= "2.91.57":

в модуле distutils.cygwinccompiler в python32. Поэтому я изменил это на

if (not self.gcc_version == None) and self.gcc_version <= "2.91.57":

При повторной попытке установки из командной строки появляется следующее сообщение:

running build
running build_py
running build_ext
Access is denied.
skipping 'C:\cython-0.14.1\Cython\Plex\Scanners.c' Cython extension (up-to-date)

building 'Cython.Plex.Scanners' extension
C:\cygwin\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python32\include -IC:\Pyth
on32\PC -c C:\cython-0.14.1\Cython\Plex\Scanners.c -o c:\cython-0.14.1\cython\pl
ex\scanners.o
error: command 'gcc' failed: Permission denied

Я попробовал то же самое с Cygwin, и я получил ту же ошибку. Я перезагрузил компьютер и попытался снова, все та же ошибка.

Буду признателен за любую помощь, так как я потратил на это целый день безрезультатно.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2013

См. Получить "Доступ запрещен" при попытке компиляции с g ++ из командной строки. Cygwin . Это полностью решает ваш вопрос. Проблема, по-видимому, в символических ссылках (как я сегодня многому научился, к своему смущению).

0 голосов
/ 05 июня 2011

«Отказано в доступе» - все еще хороший способ выглядеть.Это может произойти потому, что:

  1. команда gcc не является исполняемой (странно, но вы можете набрать "gcc --version" и получить вывод?)
  2. путь назначения«c: \ cython-0.14.1 \ cython \ plex \» недоступен или недоступен для записи.Если вы установили его с правами администратора и используете с правами пользователя, возможно, это так.Попробуйте дать доступ всем здесь.(Отказ от ответственности: я не парень из Windows ^^)
...