Сбой установки python-qpid-proton на MacOSX python 3.8

#python #python-3.x #pip #qpid

#python #python-3.x #pip #qpid

Вопрос:

Ранее этого не происходило, поэтому я не знаю, что изменилось за последние несколько месяцев, но, к сожалению, я оказался в ситуации необходимости переустановки python-qpid-proton, и теперь я сталкиваюсь с ошибками, для которых я вообще не могу найти хорошего исправления.

Проблема

Если я выполню следующую строку:

 pip install python-qpid-proton
  

Я получаю следующий вывод, выделенный красным цветом:

     /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log.c:20:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log_private.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/log.h:23:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/logger.h:32:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/object.h:26:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/types.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/type_compat.h:75:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/types.h:79:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
    typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
            ^
    note: '__int128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_dev_t;         /* dev_t */
            ^
    note: '__int128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
            ^
    note: '__uint128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
            ^
    note: '__uint128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'
    typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
    typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'; did you mean '__uint128_t'?
    typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
            ^
    note: '__uint128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
    typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
            ^
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
            ^
    note: '__int128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
            ^
    note: '__uint128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'; did you mean '__int128_t'?
    typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
            ^
    note: '__int128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
            ^
    note: '__uint128_t' declared here
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'; did you mean '__uint128_t'?
    typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
            ^
    note: '__uint128_t' declared here
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log.c:20:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log_private.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/log.h:23:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/logger.h:32:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/object.h:26:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/types.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/type_compat.h:75:
    In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/types.h:81:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/machine/endian.h:37:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log.c:20:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/src/core/log_private.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/log.h:23:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/logger.h:32:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/object.h:26:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/types.h:27:
    In file included from /private/var/folders/l_/y17fz4qs6mn4wvdb781hnn50dbr4xv/T/pip-install-01kp069a/python-qpid-proton/include/proton/type_compat.h:75:
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/sys/types.h:95:9: error: unknown type name 'u_int64_t'
    typedef u_int64_t               u_quad_t;       /* quads */
            ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    error: command 'xcrun' failed with exit status 1
  

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

Окружающая среда — Редактировать

Я использую Python 3.7, а теперь 3.8. Я установил это с помощью homebrew. Я не использую версию OSX, которая является python 2.7. Я также использую virtualenv для создания в качестве среды для приложений python. Причина, по которой мне пришлось переустановить qpid, заключается в том, что если я оставлю свое решение на некоторое время (работая над чем-то другим), а затем вернусь к нему, оно сломается. Я думаю, причина в том, что я непреднамеренно обновил python с 3.7 до 3.8, используя brew update . Чего я, вероятно, не должен был делать. Это привело к сбою virtualenv с использованием python3.7.

Итак, как вы знаете, я использую виртуальную среду для своего приложения. Я использую python 3.8, и когда я нахожусь в своей виртуальной среде и запускаю pip install вышеупомянутую проблему.

Спасибо,

Ответ №1:

Какой python и среду вы используете? …если вы не знаете, вы, вероятно, просто используете стандартный / стандартный python в OSX.

Вероятно, вы а) не хотите использовать это и б) не хотите пытаться устанавливать в него новые модули, поскольку он используется ОС, устанавливается в системное пространство, не является самой последней версией python, и его сложно использовать в качестве пользователя для пользовательских проектов.

Если вы еще этого не сделали, вам следует попробовать использовать дистрибутив / менеджер пакетов python. Я лично использую Conda.

Вероятно, если вы используете это, вы не столкнетесь с проблемами, которые вы видите здесь.

Комментарии:

1. Привет, Ричард. Я обновил свой вопрос, чтобы предоставить недостающую информацию, необходимую вам в вашем ответе.

2. Привет, Пол — я лично отказался от попыток использовать homebrew для установки / использования python для подобных проблем и переключился на Anaconda, где я не столкнулся с какими-либо проблемами, которые вы видите. Я совсем не уверен, но проблема, с которой вы сталкиваетесь, выглядит так, будто она пытается установить колесо (скомпилированный модуль) и возникают проблемы из-за того, что скомпилированная версия не работает с вашей версией XCode / OS. Я лично не могу предложить никакой помощи, за исключением того, что я уже сказал — у меня были похожие проблемы при попытке использовать homebrew, и я исправил их, перейдя на anaconda. … извините, я не могу больше помочь!

3. Странно то, что 3.7 работает. Это может быть реальной проблемой с qpid теперь, когда я оставляю это на некоторое время, пока я работаю над некоторыми другими задачами, которые необходимо выполнить. Я собираюсь сначала попытаться понизить версию python до версии 3.7 и посмотреть, смогу ли я скомпилировать плагин таким образом. Тем временем я собираюсь изучить Anaconda, спасибо за этот совет.

Ответ №2:

Что ж! Похоже, что Qpid Proton не работает с 3.8. 3.7.8 отлично устанавливает Qpid Proton.

В качестве решения мне пришлось обойти homebrew и использовать pyenv.

Используя каталог pyenv и virtualenv, я смог успешно переустановить qpid и запустить приложение. Мне все еще нужно вернуться и очистить homebrew и полностью избавиться от python в этой среде, чтобы я мог управлять им с помощью pyenv. вместо этого. По сути, когда brew обновился до 3.8 (без моего ведома), это нарушило мой код. Возврат и понижение версии через homebrew казались дорогостоящими, поэтому я решил использовать другой инструмент среды python.

Итак, кто-нибудь, пока не обновляйте до версии 3.8, если вы используете Qpid Proton от Apache.