Вопрос по python, gcc – ошибка компиляции gcc из python

10

Я знаю, что в gcc есть много потоков, в частности "команда gcc завершилась с ошибкой со статусом выхода 1", и я просмотрел их все и до сих пор не смог это исправить. Я бы использовал gcc или mingw32 только для задач, связанных с Python, таких как Cython или другие пакеты, которые могут включать компиляцию. Тем не менее, это никогда не работает.

У меня есть компьютер с Windows 7 Home Edition. Я установил на него cygwin с mingw32, а также установил Visual Studio 11 Beta, и я счастлив удалить что-либо / переустановить, чтобы это работало.

Cython компиляции всегда терпят неудачу

error: command 'gcc' failed with exit status 1

Но даже попытка установить множество пакетов Python с использованием pip не удается с похожей ошибкой. Например, я пытаюсь установить пакет с именем & quot; xhtml2pdf. & Quot; После запуска & quot; pip установите xhtml2pdf & quot; в командной строке я получаю следующую ошибку:

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Pytho
n27\PC -c "C:\Users\JJ\Documents\Coding Fun\build\reportlab\src\rl_addons\rl_acc
el\_rl_accel.c" -o "c:\users\jj\documents\coding fun\build\reportlab\src\rl_addo
ns\rl_accel\_rl_accel.o"

cc1.exe: error: unrecognized command line option '-mno-cygwin'

error: command 'gcc' failed with exit status 1

Запуск одной и той же команды из cygwin приводит к другой ошибке:

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

gcc -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Python27\PC -c C:\cygwin\home\JJ\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c -o c:\cygwin\home\jj\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o

error: command 'gcc' failed: No such file or directory

----------------------------------------
Command C:\Python27\python.exe -c "import setuptools;__file__='C:\\cygwin\\home\\JJ\\build\\reportlab\\setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record c:\users\jj\appdata\local\temp\pip-aohmse-record\install-record.txt failed with error code 1 in C:\cygwin\home\JJ\build\reportlab
Storing complete log in C:\Users\JJ\AppData\Roaming\pip\pip.log


----------------------------------------
Command C:\Python27\python.exe -c "import setuptools;__file__='C:\\Users\\JJ\\Do
cuments\\Coding Fun\\build\\reportlab\\setup.py';exec(compile(open(__file__).rea
d().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-external
ly-managed --record c:\users\jj\appdata\local\temp\pip-r8_mri-record\install-rec
ord.txt failed with error code 1 in C:\Users\JJ\Documents\Coding Fun\build\repor
tlab
Storing complete log in C:\Users\JJ\AppData\Roaming\pip\pip.log

Я очень новичок в компиляции в целом, так как работал только с интерпретированными языками, поэтому я был разочарован тем, что не мог сам разобраться, как это исправить. Любая помощь будет оценена в установке этого пакета.

РЕДАКТИРОВАТЬ: Ранее я следовал совету, например, пытаясь удалить все ссылки на «-mno-cygwin» в distutils и создании файла distutils.cfg, но безрезультатно.

ОБНОВЛЕНИЕ: После переустановки cygwin и понижения моих установок gcc и g ++ до v3 я получаю еще одну, но другую ошибку:

copying src\reportlab\lib\PyFontify.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\pygments2xpre.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\randomtext.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\rltempfile.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\rparsexml.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\sequencer.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\set_ops.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\styles.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\testutils.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\textsplit.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\units.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\utils.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\validators.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\xmllib.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\yaml.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\lib\__init__.py -> build\lib.win32-2.7\reportlab\lib

copying src\reportlab\pdfbase\cidfonts.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfbase\pdfdoc.py -> build\lib.win32-2.7\reportlab\pdfbase


copying src\reportlab\pdfbase\pdfform.py -> build\lib.win32-2.7\reportlab\pdfbas
e

copying src\reportlab\pdfbase\pdfmetrics.py -> build\lib.win32-2.7\reportlab\pdf
base

copying src\reportlab\pdfbase\pdfpattern.py -> build\lib.win32-2.7\reportlab\pdf
base

copying src\reportlab\pdfbase\pdfutils.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfbase\rl_codecs.py -> build\lib.win32-2.7\reportlab\pdfb
ase

copying src\reportlab\pdfbase\ttfonts.py -> build\lib.win32-2.7\reportlab\pdfbas
e

copying src\reportlab\pdfbase\_can_cmap_data.py -> build\lib.win32-2.7\reportlab
\pdfbase

copying src\reportlab\pdfbase\_cidfontdata.py -> build\lib.win32-2.7\reportlab\p
dfbase

copying src\reportlab\pdfbase\_fontdata.py -> build\lib.win32-2.7\reportlab\pdfb
ase

copying src\reportlab\pdfbase\_fontdata_enc_macexpert.py -> build\lib.win32-2.7\
reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_macroman.py -> build\lib.win32-2.7\r
eportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_pdfdoc.py -> build\lib.win32-2.7\rep
ortlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_standard.py -> build\lib.win32-2.7\r
eportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_symbol.py -> build\lib.win32-2.7\rep
ortlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_winansi.py -> build\lib.win32-2.7\re
portlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_enc_zapfdingbats.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courier.py -> build\lib.win32-2.7
\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courierbold.py -> build\lib.win32
-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courierboldoblique.py -> build\li
b.win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_courieroblique.py -> build\lib.wi
n32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helvetica.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticabold.py -> build\lib.win
32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticaboldoblique.py -> build\
lib.win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_helveticaoblique.py -> build\lib.
win32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_symbol.py -> build\lib.win32-2.7\
reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesbold.py -> build\lib.win32-2
.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesbolditalic.py -> build\lib.w
in32-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesitalic.py -> build\lib.win32
-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_timesroman.py -> build\lib.win32-
2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\_fontdata_widths_zapfdingbats.py -> build\lib.win3
2-2.7\reportlab\pdfbase

copying src\reportlab\pdfbase\__init__.py -> build\lib.win32-2.7\reportlab\pdfba
se

copying src\reportlab\pdfgen\canvas.py -> build\lib.win32-2.7\reportlab\pdfgen

copying src\reportlab\pdfgen\pathobject.py -> build\lib.win32-2.7\reportlab\pdfg
en

copying src\reportlab\pdfgen\pdfgeom.py -> build\lib.win32-2.7\reportlab\pdfgen

copying src\reportlab\pdfgen\pdfimages.py -> build\lib.win32-2.7\reportlab\pdfge
n

copying src\reportlab\pdfgen\pycanvas.py -> build\lib.win32-2.7\reportlab\pdfgen


copying src\reportlab\pdfgen\textobject.py -> build\lib.win32-2.7\reportlab\pdfg
en

copying src\reportlab\pdfgen\__init__.py -> build\lib.win32-2.7\reportlab\pdfgen


copying src\reportlab\platypus\doctemplate.py -> build\lib.win32-2.7\reportlab\p
latypus

copying src\reportlab\platypus\figures.py -> build\lib.win32-2.7\reportlab\platy
pus

copying src\reportlab\platypus\flowables.py -> build\lib.win32-2.7\reportlab\pla
typus

copying src\reportlab\platypus\frames.py -> build\lib.win32-2.7\reportlab\platyp
us

copying src\reportlab\platypus\para.py -> build\lib.win32-2.7\reportlab\platypus


copying src\reportlab\platypus\paragraph.py -> build\lib.win32-2.7\reportlab\pla
typus

copying src\reportlab\platypus\paraparser.py -> build\lib.win32-2.7\reportlab\pl
atypus

copying src\reportlab\platypus\tableofcontents.py -> build\lib.win32-2.7\reportl
ab\platypus

copying src\reportlab\platypus\tables.py -> build\lib.win32-2.7\reportlab\platyp
us

copying src\reportlab\platypus\xpreformatted.py -> build\lib.win32-2.7\reportlab
\platypus

copying src\reportlab\platypus\__init__.py -> build\lib.win32-2.7\reportlab\plat
ypus

copying src\reportlab\fonts\00readme.txt -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\bitstream-vera-license.txt -> build\lib.win32-2.7\re
portlab\fonts

copying src\reportlab\fonts\DarkGarden-copying-gpl.txt -> build\lib.win32-2.7\re
portlab\fonts

copying src\reportlab\fonts\DarkGarden-copying.txt -> build\lib.win32-2.7\report
lab\fonts

copying src\reportlab\fonts\DarkGarden-readme.txt -> build\lib.win32-2.7\reportl
ab\fonts

copying src\reportlab\fonts\DarkGarden.sfd -> build\lib.win32-2.7\reportlab\font
s

copying src\reportlab\fonts\DarkGardenMK.afm -> build\lib.win32-2.7\reportlab\fo
nts

copying src\reportlab\fonts\DarkGardenMK.pfb -> build\lib.win32-2.7\reportlab\fo
nts

copying src\reportlab\fonts\Vera.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraBd.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraBI.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\VeraIt.ttf -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_abi____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ab_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ai_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_a______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\cobo____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\cob_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\com_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\coo_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ebi____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_eb_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_ei_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\_er_____.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Sy______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zd______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zx______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\fonts\Zy______.pfb -> build\lib.win32-2.7\reportlab\fonts

copying src\reportlab\lib\hyphen.mashed -> build\lib.win32-2.7\reportlab\lib

running build_ext

building '_rl_accel' extension

C:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Python27\include -IC:\Pytho
n27\PC -c C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel
.c -o c:\users\jj\documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c: In fun
ction `hex32':

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:491: wa
rning: unsigned int format, long unsigned int arg (arg 3)

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c: In fun
ction `_instanceStringWidthU':

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 'L' might be used uninitialized in this function

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 't' might be used uninitialized in this function

C:\Users\JJ\Documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.c:741: wa
rning: 'f' might be used uninitialized in this function

writing c:\users\jj\documents\build\reportlab\src\rl_addons\rl_accel\_rl_accel.d
ef

C:\mingw\bin\dllwrap.exe -mno-cygwin -mdll -static --output-lib c:\users\jj\docu
ments\build\reportlab\src\rl_addons\rl_accel\lib_rl_accel.a --def c:\users\jj\do
cuments\build\reportlab\src\rl_addons\rl_accel\_rl_accel.def -s c:\users\jj\docu
ments\build\reportlab\src\rl_addons\rl_accel\_rl_accel.o -LC:\Python27\libs -LC:
\Python27\PCbuild -lpython27 -lmsvcr90 -o build\lib.win32-2.7\_rl_accel.pyd

_rl_accel.exp: file not recognized: File format not recognized

collect2: ld returned 1 exit status

dllwrap: gcc exited with status 1

error: command 'dllwrap' failed with exit status 1
Похоже (в случае вашей попытки Cygwin), двоичный файл gcc не на вашем пути. У меня нет машины с Windows, чтобы помочь вам решить эту проблему, но попробуйте перезапустить установщик cygwin и убедиться, что gcc устанавливается. Если это так, добавьте его к своему пути (в Windows, я думаю, вы делаете это из «Система» на панели управления, если память мне правильно служит.) majackson
Я немного запутался. я думал, что Mingw и Cygwin были разными вещами. я думал, что у cygwin есть свой собственный gcc, это никак не связано с mingw. и это объясняет, почему cygwin выдает ошибку, даже если присутствует mingw. в инсталляторе cygwin вам нужно покопаться, чтобы найти параметр gcc и включить его, я думаю. я никогда не использовал mingw, поэтому не могу комментировать первую ошибку, но Маджексон, похоже, прав насчет второй. или возможно cygwin и mingw слились или как? andrew cooke
Нет, вы, вероятно, правы; Понятия не имею - отсюда и мой вопрос. Я не осознавал, что у cygwin и mingw разные gcc. Как бы вы пошли исправить это тогда? jdotjdot
Спасибо, я это уже поняла. Я попробую переустановить Cygwin, хотя я действительно хочу запустить pip из командной строки. У меня уже есть & quot; C: \ mingw \ bin & quot; в моем системном пути, хотя. jdotjdot
Перезапустив setup.exe и убедившись, что gcc установлен из Cygwin. Это не то, что устанавливается по умолчанию. OmnipotentEntity

Ваш Ответ

3   ответа
2

почему dllwrap выдает эту ошибку в pip?

_foo.exp: file not recognized: File format not recognized

Краткий ответ: проверьте свой ПУТЬ. MinGW \ bin должен быть в начале.

Длинный ответ: см.Сбой установки pip-пакета python, ошибка dllwrap после «исправления»: «невозможно найти vcvarsall.bat»

Действительно, изменение системного PATH и перезагрузка исправили проблему для меня.
11

через некоторое время я наткнулся на пост, который до сих пор работал для меня.

http://www.develer.com/oss/GccWinBinaries

Этот сайт предоставляет неофициальный двоичный файл MinGW GCC (не поддерживается / не поддерживается MinGW), который должен идеально интегрироваться с Python, вплоть до автоматического обновления путей. Я установил это и БАМ,pip install cython только начал работать.

Надеюсь, что это поможет многим из вас с этой проблемой GCC.

GccWinBinaries поддерживает 64-битную Windows, но не 64-битный Python. Но с 32-битным Python он работает безупречно на моей Windows 7 64-битной машине. Однако он не скомпилирует расширения Cython.
pip install cython --upgrade работал на меня. Спасибо!
GccWinBinaries не поддерживает64-bit Windows.
0

У меня была эта проблема в cygwin, пока я не понял, что пакет gcc-g ++ должен быть установлен также. Теперь, когда у меня установлены и gcc-core, и gcc-g ++,pip install pandas работает как шарм.

Похожие вопросы