Крипторука не находит esp

Обновлено: 21.11.2024

CMake также позволяет/рекомендует вам выполнять сборки "из исходного кода", то есть файлы сборки отделены от ваших исходных кодов, поэтому нет необходимости создавать сложные чистые сценарии для получения чистого исходного дерева, вместо этого вы просто удалите каталог сборки.

Проверено, что Libwebsockets успешно работает на следующих платформах с поддержкой SSL (для OpenSSL/wolfSSL/BoringSSL):

  • Windows (Visual Studio)
  • Windows (MinGW)
  • Linux (x86 и ARM)
  • OSX
  • NetBSD

Параметры проекта, используемые CMake для создания файлов сборки для конкретной платформы, называются CMakeLists.txt. Затем CMake использует один из своих «Генераторов» для вывода проекта Visual Studio или файла Make, например. Чтобы увидеть список доступных генераторов для вашей платформы, просто запустите команду "cmake".

Обратите внимание, что по умолчанию OpenSSL будет связан, если вы не хотите, чтобы поддержка SSL была описана ниже, как переключать параметры компиляции.

ПРИМЕЧАНИЕ 2. Обычно вы можете указать путь установки, такой же, как –prefix= в autotools. По умолчанию это /usr/local. Вы можете сделать это, например,

ПРИМЕЧАНИЕ 3. На компьютерах, которым нужны библиотеки в lib64, вы также можете добавить следующее в строку cmake

ПРИМЕЧАНИЕ 4. Если вы выполняете сборку на основе OpenSSL, отличного от дистрибутива (например, чтобы получить доступ к поддержке ALPN только в более новых версиях OpenSSL), хороший способ выразить это в одной команде cmake, например,

Когда вы запускаете тестовые приложения с использованием SSL, отличного от дистрибутива, вы должны заставить их использовать ваши библиотеки, а не дистрибутивные

Чтобы заставить его работать на последней версии openssl (2016-04-10), нужен был этот подход

cmake .. -DLWS_WITH_HTTP2=1 -DLWS_OPENSSL_INCLUDE_DIRS=/usr/local/include/openssl -DLWS_OPENSSL_LIBRARIES="/usr/local/lib64/libssl.so;/usr/local/lib64/libcrypto.so"

Пользователи Mac сообщили

у них работало при использовании "доморощенного" OpenSSL

ПРИМЕЧАНИЕ 5. Для сборки с отладочной информацией и _DEBUG для скомпилированных отладочных сообщений с более низким приоритетом используйте

ПРИМЕЧАНИЕ 6. Для сборки на Solaris компоновщик должен быть проинформирован о необходимости использования lib socket и libnsl и сборки только в 64-битном режиме.

Создайте и протестируйте поток для Boringssl. Обратите внимание, что LWS_WITH_GENHASH в настоящее время недоступен для Boringssl из-за удаления необходимого API.

Создать текущую версию HEAD ssl

Создайте и протестируйте lws на нем

  1. Наконец, вы можете выполнить сборку, используя сгенерированный файл Makefile:

В Linux lws теперь позволяет сохранять выбранные права суперпользователя при отказе от привилегий. Если установлен libcap-dev или аналогичный пакет с sys/capabilities.h, а также libcap или аналогичный пакет с libcap.so, CMake активирует функции возможностей.

Информация о создании контекста. Члены struct .caps[] и .count_caps могут быть затем установлены пользовательским кодом, чтобы активировать выбранные корневые возможности, чтобы выжить при переходе к работе под непривилегированным пользователем.

При изменении параметров cmake по какой-то причине единственным способом увидеть изменения иногда является удаление содержимого каталога сборки и выполнение cmake с нуля.

может быть достаточно удалить файл build/CMakeCache.txt.

(ПРИМЕЧАНИЕ: желательно в расположении по умолчанию, чтобы CMake было легче их найти)

ПРИМЕЧАНИЕ 2. Убедитесь, что переменная среды OPENSSL_CONF определена и указывает на \bin\openssl.cfg

(ПРИМЕЧАНИЕ: для Windows также доступен cmake-gui, если вы предпочитаете его)

  1. Теперь у вас должно быть сгенерированное решение Visual Studio в каталоге /build, которое можно использовать для сборки.
  2. Могут потребоваться дополнительные настройки
    • iphlpapi.lib
    • psapi.lib
    • userenv.lib
  3. Если вы используете libuv, вы должны скомпилировать libuv с теми же атрибутами multithread-dll/Mtd, что и сам libwebsockets

Для Fedora это, например, dnf install mingw64-gcc

Установить текущий пакет CMake

Для Fedora это dnf install cmake

Установите компоненты OpenSSL, созданные с помощью mingw

Для Fedora это mingw64-openssl.noarch mingw64-openssl-static.noarch

mingw64-cmake, как описано ниже, автоматически найдет библиотеки и включения для сборки. Но для выполнения приложений им нужно либо войти в тот же /usr/x86_64-w64-mingw32/sys-root/mingw/bin/, где установлены библиотеки DLL, либо библиотеки должны быть скопированы в тот же каталог, что и исполняемый файл вашего приложения.

Создайте файлы сборки (по умолчанию Make files) с помощью оболочки MSYS.

Для Fedora они предоставляют оболочку mingw64-cmake в пакете mingw64-filesystem , с помощью которой вы можете запускать ее вместо cmake напрямую, и вам не нужно вмешиваться в настройку генератора cmake.

В противном случае сделать это вручную можно следующим образом:

Чтобы сгенерировать файлы сборки, позволяющие создавать двоичные файлы libwebsockets с отладочной информацией, установите флаг CMAKE_BUILD_TYPE в DEBUG:

  1. Наконец, вы можете выполнить сборку, используя сгенерированный файл Makefile, и получить результаты, развернутые в вашей установке MinGW:

Упаковщики дистрибутивов должны выбрать параметр CMake "LWS_WITH_DISTRO_RECOMMENDED", который выбирает общие дополнительные параметры, такие как поддержка различных библиотек событий, подключаемых модулей и lwsws.

  • Если вы действительно ограничены в памяти, размере кода или не заботитесь о скорости TLS, хорошим выбором будет mbedTLS: cmake .. -DLWS_WITH_MBEDTLS=1
  • Если процессор и память не сильно ограничены и вам важна скорость TLS, хорошим выбором будет OpenSSL или напрямую совместимый вариант, такой как Boring SSL.

Только сборка lws на основе стандартного Fedora OpenSSL или стандартного Fedora mbedTLS, для рукопожатия SSL mbedTLS занимает ~36 мс, а OpenSSL — ~1 мс на той же машине сборки x86_64, все остальное одинаково. Например, для 144 соединений при тестировании на соответствие h2spec это завершается за 400 мс для OpenSSL и 5,5 с для mbedTLS на x86_64. Другими словами, mbedTLS работает очень медленно по сравнению с OpenSSL в (довольно типичных) условиях, в которых я его тестировал.

Это не связано с неэффективностью реализации интерфейса mbedtls, просто mbedTLS выполняет шифрование намного медленнее, чем OpenSSL, который имеет ускоренные версии общих криптографических операций, которые он автоматически использует для поддерживающих его платформ. По состоянию на октябрь 2017 года сам mbedTLS не имеет такой оптимизации ни для одной из платформ, которые мне удалось найти. Это просто чистый C, работающий на процессоре.

Lws поддерживает оба варианта почти одинаково, поэтому вместо того, чтобы верить мне на слово, вам предлагается попробовать оба способа и посмотреть, какие результаты (включая, например, размер двоичного файла и использование памяти, а также скорость) предлагают вам использовать.

OP-TEE – это доверенная среда выполнения "Безопасный мир".

Выберите его в cmake с параметром -DLWS_PLAT_OPTEE=1

Чтобы установить флаги времени компиляции, вы можете использовать одно из графических приложений CMake или сделать это через командную строку.

Командная строка

Чтобы перечислить доступные параметры (опустите H, если вам не нужен текст справки):

Затем установить параметр и выполнить сборку (например, отключить поддержку SSL):

или cmake -DLWS_WITH_SSL:BOOL=OFF ..

Графический интерфейс Unix

Если у вас есть сборка с поддержкой curses, просто введите: (не все пакеты включают это, например, моя установка Debian не включает).

Графический интерфейс Windows

В Windows CMake поставляется с приложением с графическим интерфейсом: Пуск -> Программы -> CMake -> CMake (cmake-gui)

Он содержит уровень совместимости с OpenSSL, который позволяет в значительной степени ссылаться на него вместо OpenSSL, что значительно уменьшает занимаемую площадь.

ПРИМЕЧАНИЕ: для работы wolfssl необходимо скомпилировать с флагом --enable-opensslextra.

ПРИМЕЧАНИЕ. В Windows вместо LWS_WOLFSSL_LIBRARIES используйте файл с расширением .lib.

ПРИМЕЧАНИЕ. В Windows вместо LWS_CYASSL_LIBRARIES используйте файл с расширением .lib.

По умолчанию lws поддерживает gzip, когда требуется сжатие. Но вы можете указать ему использовать MINIZ вместо этого, используя -DLWS_WITH_MINIZ=1 .

Для нативной сборки cmake попытается найти существующий libminiz.so или .a и выполнить сборку на основе этого, а найденные включения автоматически.

Для перекрестной сборки или сборки против локального miniz вам понадобится следующий вид cmake, чтобы указать, где взять miniz

cmake .. -DLWS_WITH_MINIZ=1 -DLWS_WITH_ZIP_FOPS=1 -DMINIZ_INCLUDE_DIRS="/projects/miniz;/projects/miniz/build" -DMINIZ_LIBRARIES=/projects/miniz/build/libminiz.so.2.1.0

Для сборки для ESP32 требуется платформа ESP-IDF. Его можно собрать под Linux, OSX или Windows (MSYS2).

Каталог ./plugin-standalone/ показывает, насколько просто создавать плагины вне самого lws. Сначала создайте сам lws с параметром -DLWS_WITH_PLUGINS, а затем используйте тот же процесс для сборки отдельного плагина

если вы изменили каталог плагинов по умолчанию при сборке lws, вы также должны указать здесь те же аргументы для cmake (например, -DCMAKE_INSTALL_PREFIX:PATH=/usr/something/else. )

В противном случае, если вы запустите lwsws или libwebsockets-test-server-v2.0, теперь будет найден дополнительный плагин "libprotocol_example_standalone.so"

Если у вас несколько виртуальных хостов, вы должны дополнительно включить подключаемые модули на виртуальном хосте, обнаруженные подключаемые модули не включаются автоматически из соображений безопасности. Вы делаете это, используя info->pvo или для lwsws, в конфигурации JSON.

Вы должны создать и запустить lws для версии openssl с ALPN. На момент написания последние дистрибутивы начали обновляться до OpenSSL 1.1+, который уже поддерживает это. Вы узнаете, что это правильно, увидев

./test-apps/attack.sh содержит скриптовые тесты, которые являются основой автоматической оценки покрытия тестами, доступной для gcc и clang.

$ cd build $ cmake .. -DLWS_WITH_GCOV=1 -DCMAKE_BUILD_TYPE=DEBUG $ ../scripts/build-gcov.sh $ ../test-apps/attack.sh $ ../scripts/gcov.sh . Выполнено строк: 51,24% из 8279

Компоненты CI на базе Appveyor теперь создают пригодные для использования двоичные выходные данные. Посетите

Чтобы включить кросс-компиляцию libwebsockets с помощью CMake, вам необходимо создать «файл цепочки инструментов», который вы предоставляете CMake при создании файлов сборки. Затем CMake будет использовать кросс-компиляторы и пути сборки, указанные в этом файле, для поиска зависимостей и т. д.

Libwebsockets включает пример файла цепочки инструментов cross-arm-linux-gnueabihf.cmake, который можно использовать в качестве отправной точки.

Командная строка для настройки кросса с этим будет выглядеть так

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

ПРИМЕЧАНИЕ: начните с ПУСТОГО каталога сборки, если у вас там была неперекрестная сборка, прежде чем настройки будут кэшированы, а ваши изменения проигнорированы. Удалите build/CMakeCache.txt по крайней мере перед тем, как пробовать новую конфигурацию cmake, чтобы убедиться, что вы действительно создаете параметры, о которых думаете.

Вот пошаговые инструкции по перекрестной сборке внешних проектов, необходимых для lws, на примере lwsws + mbedtls.

В этом примере мой набор инструментов находится в /projects/aist-tb/arm-tc и называется arm-linux-gnueabihf. Таким образом, вам нужно будет адаптировать их к тому месту, где находится ваша цепочка инструментов, и к их названию, где вы их видите здесь.

Точно так же я делаю все это в /tmp, но это не имеет особого значения, вы можете адаптировать это где-нибудь еще.

Все "чужие" двоичные файлы кросс-сборки отправляются в /tmp/cross, чтобы их нельзя было спутать с "родными" файлами x86_64 на вашем хост-компьютере в /usr/[local/].

3) Отредактируйте /tmp/mytoolchainfile, адаптировав CROSS_PATH , CMAKE_C_COMPILER и CMAKE_CXX_COMPILER, чтобы отразить каталог установки вашей цепочки инструментов и путь к компиляторам C и C++ вашей цепочки инструментов соответственно. Для моего случая:

1) export PATH=/projects/aist-tb/arm-tc/bin:$PATH Обратите внимание, что в конце пути цепочки инструментов есть **/bin**

2) cd /tmp ; mkdir cross мы поместим кросс-сборочные библиотеки в /tmp/cross

Если у него есть проблемы, вам нужно будет установить automake , libtool и т. д.

6) ./configure --host=arm-linux-gnueabihf --prefix=/tmp/cross

7) make && make install это установит в /tmp/cross/.

8) файл /tmp/cross/lib/libuv.so.1.0.0 Убедитесь, что он действительно создан для ARM

/tmp/cross/lib/libuv.so.1.0.0: общий объект ELF 32-bit LSB, ARM, EABI5 версии 1 (SYSV), динамически связанный, BuildID[sha1]=cdde0bc945e51db6001a9485349c035baaec2b46, с debug_info, без разделения

Объявление о раунде грантов для академических исследований

Мы рады объявить о новой волне грантов для финансирования официальных исследований, направленных на получение дополнительных знаний об Ethereum, технологии блокчейна и связанных областях. Мы призываем ученых, исследовательские центры, аспирантов и всех, кто заинтересован в исследовании Ethereum, подавать свои проектные предложения. Общий доступный объем финансирования этого раунда грантов составляет до 750 000 долларов США.

Обзор грантополучателей: январь 2022 г. — издание для местных грантов в Японии!

В сегодняшнем обзоре мы рады представить четырех получателей недавней волны местных грантов в Японии! Мы рассматриваем Ethereum как постоянно растущую, творческую и инклюзивную игровую площадку, и мы несем ответственность за то, чтобы все продолжали играть. Нелегко заниматься общественными благами или новыми вариантами использования без быстрой финансовой отдачи, и важно поддерживать специальные команды, работающие над решением интересных проблем, улучшением общественной инфраструктуры и созданием творческих вариантов использования блокчейна. В этом Местные гранты.

Обновление распределения: Q3 и Q4, 2021

Это двойной заголовок! Ниже вы найдете списки получателей грантов как за третий, так и за четвертый квартал 2021 года. Примечание о категориях: там, где мы когда-то указывали Ethereum 1.0/1.x или Ethereum 2.0, теперь вы увидите «Уровень исполнения» и «Уровень консенсуса». соответственно. Это часть более широких усилий по изменению терминологии, чтобы сделать ее более ясной, точной и всеобъемлющей. Прочтите этот недавний пост, чтобы узнать больше о причинах сдвига. А теперь грантополучателям…

Обзор получателей грантов: декабрь 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обновление распределения: второй квартал 2021 г.

Снова настало время — наш список грантополучателей второго квартала приближается.Но прежде чем мы перейдем к этому: ESP нанимает тимлида! Мы ищем кого-то организованного, инновационного и увлеченного Ethereum. Если вы считаете, что можете быть подходящим человеком для руководства небольшой, но трудолюбивой командой по грантам, просмотрите объявление о вакансии и подайте заявку здесь. А теперь к грантополучателям: Категория Проект Получатель Описание Сообщество и образование Группа сообщества Ethereum Cat Herders, поддерживающая ядро ​​Ethereum.

Обзор получателей грантов: сентябрь 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обзор получателей грантов: август 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обзор получателей грантов: июль 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обновление распределения: первый квартал 2021 г.

Счастливого июля! Ознакомьтесь со списком проектов, профинансированных в первом квартале этого года. Но сначала: рабочие часы в сессии! Регистрация открыта до этого воскресенья (4 июля) для команд или отдельных лиц, которые могут запросить личный звонок с командой ESP в течение недели с 5 по 9 июля. Эти звонки представляют собой упрощенный способ для групп или отдельных лиц получить доступ к определенным видам поддержки, таким как отзывы высокого уровня, рекомендации по ресурсам или рекомендации по подаче заявок на гранты. Подробнее.

Обзор получателей грантов: май 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обзор получателей грантов: апрель 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы проверим пару проектов, которые находятся в стадии реализации или уже на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обзор получателей грантов: март 2021 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы рассмотрим проекты, которые находятся в стадии реализации или уже находятся на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей!

Обновление распределения: четвертый квартал 2020 г.

2021 год только начинается, но он уже был насыщен событиями! У нас есть список проектов, финансируемых в четвертом квартале, ниже, но мы также хотим поделиться некоторыми новостями от команды ESP. Мы всегда ищем новые способы поддержки экосистемы по мере ее роста и развития, поэтому в последние месяцы мы попробовали несколько новых вещей. Читайте дальше, чтобы узнать больше и узнать, как вы можете принять участие.

Обзор получателей грантов: февраль 2021 г.

Объявление получателя гранта от сообщества стейкинга

Мы рады объявить грантополучателей, отобранных для участия в недавнем раунде грантов сообщества стейкинга. Это дает приглашенные предложения, которые делают стейкинг Ethereum проще, безопаснее и надежнее. Мы были очень рады видеть всю отличную работу, предложенную этими командами, и мы с нетерпением ждем продолжения поиска новых способов поддержки экосистемы. Тем временем, если вы работаете над чем-то в этой области и вам нужна поддержка, рассмотрите возможность отправки запроса по проекту с помощью.

Обзор получателей грантов: январь 2021 г.

Обзор получателей грантов, декабрь 2020 г.

Мы здесь с нашим последним ура, прежде чем мы отправимся в 2021 – читайте последние новости о нескольких грантополучателях!

Обновление распределения: третий квартал 2020 г.

Снова пришло время ежеквартальных обновлений! Большая новость, конечно, в том, что грантополучатели третьего квартала, но нам всегда нравится делиться тем, чем еще занималась команда ESP. Несколько вещей, которые мы недавно убрали: Добавлено руководство по ESP на нашем веб-сайте. Здесь вы найдете подробную информацию о нашей миссии, о том, что мы ищем в проектах, которые мы поддерживаем, о видах поддержки, которую мы предоставляем, о нашем процессе принятия и оценки предложений о грантах и ​​многом другом. Опубликовано первым в.

Обзор получателей грантов: ноябрь 2020 г.

Всегда интересно узнавать о новых грантах по мере их присуждения, но что происходит после объявления? В этой серии мы рассмотрим проекты, которые находятся в стадии реализации или уже находятся на финишной прямой. Читайте дальше, чтобы узнать о некоторых недавних вехах и достижениях грантополучателей! Там, где это применимо, получатель гранта указывается первым, а затем проект, для которого был присужден грант. Fuel Labs для исследований и разработок Optimistic Rollup, SparsENS Fuel Labs наиболее известна своими исследованиями.

Обновление распределения Q2 [ENG/普通话]

Здравствуйте еще раз! Мы вернулись, чтобы поделиться грантами, которые были предоставлены во втором квартале 2020 года, но сначала некоторые обновления ESP за последние несколько месяцев: сегодня мы пишем о грантах, но гранты — не единственный вид поддержки, которую может предложить ESP. ! Недавно мы опубликовали сообщение в блоге с описанием некоторых замечательных команд, которых вы не найдете в списке ниже, поскольку они получили поддержку, отличную от традиционных грантов, указанных здесь. Тем временем сообщество надело.

ESP: Beyond Grants [ENG/普通话]

После перехода от EF Grants к Программе поддержки экосистем мы говорили о более широком определении «поддержки», выходя за рамки простого грантового финансирования. Но что на самом деле означает более полное определение поддержки? На практике это означает что-то свое для каждого проекта и начинается с разговора. ESP был задуман, чтобы сделать широкий спектр ресурсов EF более доступным для сообщества, что начинается с того, что мы делаем наш процесс доступным для всех, кому может понадобиться поддержка. Берем.

Программа поддержки экосистемы: обновление распределения, первый квартал 2020 г.

Программа поддержки экосистемы — это подразделение Ethereum Foundation, предназначенное для оказания финансовой и нефинансовой поддержки проектам, помогающим Ethereum расти и процветать. Недавно мы опубликовали обновленную информацию о том, как Программа поддержки экосистем провела 2019 год и как мы распределяли финансовую поддержку в течение года. В дальнейшем мы будем публиковать обновления распределения ежеквартально. Начало 2020 года было странным и трудным, но создатели Эфириума продолжали строить, преодолевая все это.

Программа поддержки экосистемы: обновление распределения

Поскольку мы вступаем в новое десятилетие(!), команда Программы поддержки экосистем хотела поговорить о недавнем росте, переходе и обучении в рамках программы, а также поделиться подробностями о наших финансовых ассигнованиях на 2019 год.

Программа поддержки экосистемы объявляет прием заявок

Объявление о проведении волны грантов для Тайваня

Недавно на конференции Ethereum в Тайбэе прошла Crosslink Taiwan 2019. Это было замечательное мероприятие и прекрасная возможность для Программы поддержки экосистемы Ethereum Foundation (ESP) предоставить волну грантов для Тайваня! Получатели указаны ниже.

Объявление о создании Ethereum Foundation и совместных грантах

Сегодня мы объявляем о грантовом финансировании Фонда на сумму более 2 млн долларов США, направленном на дальнейшее развитие Serenity (Eth2.0) по мере приближения к запуску сети Beacon.

Программа грантов Ethereum Foundation, волна 5

Программа грантов Ethereum Foundation — это продолжающийся и постоянно совершенствующийся эксперимент, направленный на то, как EF может наилучшим образом инвестировать ресурсы сообщества Ethereum для максимального долгосрочного воздействия на экосистему Ethereum. Когда в начале 2018 года была запущена программа грантов, основное внимание уделялось поддержке масштабируемости. Позже этот фокус расширился, включив в него безопасность, удобство использования, конфиденциальность и образование. В 2019 году мы возвращаемся к нашей основной деятельности по поддержке важнейших усилий по масштабированию Eth2.0 и уровня 2. Однако мы остаемся.

Объявление о предоставлении гранта Ethereum Foundation компании Parity Technologies

Фонд Ethereum рад объявить о предоставлении компании Parity Technologies гранта в размере пяти миллионов долларов США на масштабируемость, удобство использования и безопасность. В течение нескольких лет компания Parity Technologies была бесценным членом экосистемы Ethereum благодаря их лидерству в основных усилиях по разработке, их клиенту Parity Ethereum и многому другому. Их работа продолжалась в бешеном темпе. На Devcon4 в Праге члены команды Parity представили свои планы по разработке реализации Serenity, указав захватывающее направление на ближайшие годы. Автор.

Как программа грантов Ethereum Foundation принимает решения

Наша цель в команде грантов – быть верными распорядителями ресурсов сообщества Ethereum. В рамках постоянных усилий Ethereum Foundation по распространению власти в нашем сообществе мы предоставляем гранты, которые, по нашему мнению, окажут наибольшее влияние на экосистему Ethereum в долгосрочной перспективе.

Обновление грантов Ethereum Foundation — волна IV

Приветствие от команды грантов Ethereum Foundation! Поскольку мы на полной скорости приближаемся к Devcon 4, мы возвращаемся, чтобы объявить о четвертой волне программы грантов! Спасибо всем замечательным членам сообщества, которые подали заявки с творческими идеями о том, как укрепить нашу экосистему. Мы бы не существовали без времени и энергии, которые вы вкладываете в Ethereum. В то время как программа продолжает расширяться, мы продолжим вовлекать больше членов сообщества в процесс принятия решений.

Обновление грантов Ethereum Foundation — волна III

Обновление грантов Фонда Эфириум Мы усердно работали, чтобы познакомиться со многими замечательными людьми и проектами, и очень рады объявить получателей грантов Волны III Программы грантов Фонда Эфириум! Мы начали 2018 год с публикации в блоге, чтобы активизировать исследования масштабируемости для решений первого и второго уровня. С тех пор мы вложили более 11 миллионов долларов в 52 проекта, посвященных развитию экосистемы Ethereum. Гранты профинансировали несколько внедрений Plasma и State Channel, а также различные клиентские исследования.

Объявляем когорту грантов EF за май 2018 г.

Спасибо всем за заявки, и мы рады объявить о последних грантах Ethereum Foundation! Мы профинансировали 22 получателя на общую сумму 2,84 миллиона долларов. Подать заявку на следующий тур! 🦄 Предыстория Проект Ethereum направлен на поддержку полезных децентрализованных приложений и смарт-контрактов на блокчейне Ethereum, а цель Ethereum Foundation — предоставить разработчикам лучшие в своем классе исследования и разработки, опыт разработчиков и образование. Несмотря на первые обещания экосистемы, нам еще предстоит пройти долгий путь.

Объявление получателей грантов Ethereum Foundation

Мы рады поделиться результатами первой волны грантов от Ethereum Foundation.Напоминаем, что проект Ethereum направлен на поддержку полезных децентрализованных приложений и смарт-контрактов на блокчейне Ethereum, а цель Ethereum Foundation — предоставить разработчикам лучшие в своем классе исследования и разработки, опыт разработчиков и образование. Несмотря на первые обещания экосистемы, нам еще предстоит пройти долгий путь, и мы здесь, чтобы работать с сообществом для достижения конкретного прогресса.

ÐΞVgrants Update и новое финансирование

Если DEVCON1 что-то и доказал, так это энтузиазм, креативность и импульс сообщества разработчиков Ethereum. Используя невиданный ранее потенциал, высвобожденный компьютером Ethereum World, наше небольшое, но растущее сообщество не просто переосмысливает деньги (или даже просто переосмысливает Интернет)… Оно также переосмысливает и предлагает альтернативные модели. для реорганизации самой ткани нашего общества вокруг более прозрачного и поддающегося проверке «стека». ÐΞVgrants появились 7 апреля 2015 года, чтобы облегчить некоторые из них.

DEVgrants: здесь, чтобы помочь

Мало кто будет возражать против того факта, что Ethereum был одарён одним из самых разнообразных и вдумчивых сообществ, когда-либо собиравшихся вокруг любого проекта с открытым исходным кодом. Подпитываемые тем, что можно назвать страстной решимостью, разработчики из всех слоев общества рисковали своим временем и авторитетом, чтобы стать пионерами в этой радикальной и малоизвестной области инноваций. Действительно, еще до своего возникновения Ethereum уже может похвастаться сотнями проектов, охватывающих все: от самостабилизирующейся валюты до потенциальных замен правительства.

Мы предоставляем гранты и другую поддержку проектам с открытым исходным кодом, которые укрепляют основы Ethereum, уделяя особое внимание инструментам для разработчиков, инфраструктуре, исследованиям и общественным благам.

Что мы поддерживаем

Кого мы поддерживаем

Как мы поддерживаем

Поддержка строителей

Финансирование ESP обычно направляется на поддержку строителей, а не на конечных пользователей. Мы не часто финансируем децентрализованные приложения или интерфейсные платформы, хотя это не жесткое правило, и есть исключения, например, когда приложение служит исследовательским или образовательным инструментом или эталонной реализацией нового стандарта.

Наши грантополучатели приезжают со всего мира и представляют самые разные образования, дисциплины и уровни опыта. Мы оказываем поддержку отдельным лицам и командам всех видов — компаниям, DAO, некоммерческим организациям, учреждениям, ученым, разработчикам, преподавателям, организаторам сообществ и многим другим.

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

Последние получатели грантов

Это всего лишь небольшая выборка — мы будем выделять несколько за раз и периодически чередовать, поэтому не забывайте время от времени проверять наличие обновлений!

Сообщество и образование

Исследуйте подходы к распределению ресурсов третьими сторонами с помощью программно определенных DAO (на основе тяги в цепочке), которые могут использовать знания отдельных лиц и сообществ в экосистеме Ethereum в предметной области, чтобы служить распределителями ресурсов.

Конференция в Лагосе, Нигерия, посвященная различным темам, включая переход с Web2 на Web3.

Поддержка развития сообщества Ethereum в Гондурасе, включая встречи, мероприятия для разработчиков и контент Ethereum на испанском языке.

Поддержка и расширение API web3.js Ethereum JavaScript, а также разработка веб-сайта, который будет служить центром документации web3.js, образовательного контента и сообщества.

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

Трехмесячный онлайн-курс, целью которого является ознакомление непальских разработчиков с ключевыми элементами технологии блокчейна с помощью инструкций и обучения на основе проектов.

Похоже, Espressif пока предоставляет наборы инструментов и скрипты ESP32 только для хостов ARM Linux. Я хотел бы знать, есть ли планы заставить их работать на хостах macOS aarch64?

Опишите желаемое решение

Несколько дней назад я купил MacBook Pro с Apple Silicon M1. Я буду рад помочь с тестированием и переносом позже, когда он появится.

На данный момент, возможно, достаточно просто перекомпилировать с помощью crosstool-ng от Espressif, или, возможно, необходимы некоторые небольшие модификации. Но я не уверен.

Опишите альтернативы, которые вы рассматривали

Дополнительный контекст

Текст был успешно обновлен, но возникли следующие ошибки:

huming2207 прокомментировал 13 ноября 2020 г.

Да, без проблем. Мой ноутбук должен быть доставлен позже на следующей неделе или через неделю.

У меня есть несколько плат с CH340. Я думаю, что Apple интегрировалась с macOS 10.14, поэтому драйвер не должен быть для меня проблемой. Но в любом случае я уже давно не пользуюсь Mac (с конца 2018 года). Я проверю его позже, когда устройство прибудет.

akhilv1 прокомментировал 17 ноября 2020 г.

Только что купил M1 Macbook pro.

После некоторых исследований выяснилось, что единственный способ заставить HomeBrew работать с Big Sur на Mac M1 – это скопировать его с другого Mac. Чтобы обойти это, я установил MacPorts с помощью Rosetta 2 и смог установить все зависимости.

Есть ли способ переопределить переменную среды для запуска сценария install.sh? Я более чем счастлив использовать Rosetta 2 для среды IDF, но я застреваю, пытаясь запустить сценарий установки с этой ошибкой:
ОШИБКА: Платформа Darwin-arm64 не поддерживается

akhilv1 прокомментировал 17 ноября 2020 г.

Нашел обходной путь в idf_tools.py для запуска установки со слоем совместимости Rosetta 2:
Добавив «Darwin-arm64»: PLATFORM_MACOS в PLATFORM_FROM_NAME, я могу продолжить выполнение сценария установки.
Теперь мне просто нужно установить все зависимости Python.

huming2207 прокомментировал 18 ноября 2020 г.

Нашел обходной путь в idf_tools.py для запуска установки с уровнем совместимости Rosetta 2:
Добавив «Darwin-arm64»: PLATFORM_MACOS, к PLATFORM_FROM_NAME, я могу продолжить выполнение сценария установки.
Теперь мне просто нужно установить все зависимости Python.

Спасибо за сообщение @akhilv1

Мой ноутбук каким-то образом все еще в пути. Я видел, что кто-то уже получил его, но, возможно, мне немного не повезло, и он все еще говорит «Обработка».

Между тем, можно ли установить эти зависимости Python и заставить их работать должным образом? Если это сработает, то все, что нам нужно сделать, это получить набор инструментов для хостов macOS aarch64.

akhilv1 прокомментировал 18 ноября 2020 г. •

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

Потратив несколько часов на установку Python, я почти все заработал. Где я столкнулся с препятствием, так это с установкой криптографии, потому что clang не может найти openssl.

Обычно установка openssl через home-brew решает эту проблему — даже после установки openssl с MacPorts я все еще сталкиваюсь с этой проблемой (см. ниже):

huming2207 прокомментировал 18 ноября 2020 г.

@akhilv1 Похоже, проблема с включенным путем?

akhilv1 прокомментировал 18 ноября 2020 г. •

После установки home-brew я переустановил через него openSSL, и это решило проблемы с включением пути для криптографии.

Мне пришлось вручную установить переменные среды как таковые, чтобы продолжить:
export PATH="/usr/local/opt/openssl@1.1/bin:$PATH" export LDFLAGS="-L/usr/local /opt/openssl@1.1/lib" export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

huming2207 прокомментировал 19 ноября 2020 г.

Насколько я понимаю, библиотеки x86 AOT'ированы в кешированный скомпилированный файл, который Python (вероятно, aarch64?) не может загрузить. Вероятно, вы можете попробовать установить openssl от aarch64.

Мой ноутбук, наконец, перешел в состояние «подготовка к отправке», и Apple списала деньги с моего банковского счета. Я думаю, что он прибудет завтра или в следующий понедельник. К тому времени я попробую.

akhilv1 прокомментировал 19 ноября 2020 г.

Используя дистрибутив Python 3, установленный с помощью xcodetools, и запустив терминал в режиме "Использовать Rosetta", я смог запустить openssl и все зависимости библиотеки Python. Я думаю, что приближаюсь к рабочей установке IDF.

Теперь моя проблема выглядит следующим образом:
При запуске скрипта установки — на этапе, когда скрипт устанавливает зависимый от скрипта python, я сталкиваюсь с этой ошибкой:
Установка пакетов Python из /Users/aveluru/esp/esp-idf/requirements.txt Трассировка (последний последний вызов): файл «/Users/aveluru/esp/esp-idf/tools/idf_tools.py», строка 1589, в main(sys. argv[1:]) Файл "/Users/aveluru/esp/esp-idf/tools/idf_tools.py", строка 1585, в основном файле action_func(args) "/Users/aveluru/esp/esp-idf/tools/ idf_tools.py", строка 1312, в action_install_python_env subprocess.check_call(run_args, stdout=sys.stdout, stderr=sys.stderr) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7 /subprocess.py", строка 190, в check_call вызовите CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['/Users/aveluru/.espressif/python_env/idf4.3_py2.7_env/bin/python', '-m', 'pip', 'install', '--no-warn-script-location', '-r', '/Users/aveluru/esp/esp-idf/requirements .txt']' вернул ненулевой статус выхода -9

Судя по беглому поиску в гугле, я думаю, что оболочка завершает выполнение скрипта из-за бесконечного цикла (статус выхода 9). Если я запускаю python3 -m pip install -r requirements.txt, все требования правильно устанавливаются и распознаются.

igrr прокомментировал 19 ноября 2020 г.

Можете ли вы попытаться создать символическую ссылку из ~/bin/python в $(который python3)? Похоже, что python указывает на интерпретатор Python 2.7, и idf_tools.py пытается использовать его при создании виртуальной среды. После создания символической ссылки убедитесь, что python --version сообщает о Python 3.

akhilv1 прокомментировал 19 ноября 2020 г. •

После создания символической ссылки с помощью ln -s /usr/local/bin/python3.9 /usr/local/bin/python я смог успешно продолжить установку и экспорт скриптов!

Я также смог успешно создать проект, но он кажется немного медленнее, чем мой Mac на базе Intel. Однако, поскольку все обновляется, я ожидаю, что производительность cmake улучшится

huming2207 прокомментировал 19 ноября 2020 г.

@akhilv1 Я также видел, как кто-то дублировал терминальное приложение и принудительно запускал его в режиме эмуляции Rosetta. Затем, когда вы устанавливаете Homebrew (и Python и т. Д.), Это всегда будет x86. Я не уверен, работает это или нет.

Но в любом случае, мой ноутбук наконец-то вывезен из Сиднея:

huming2207 прокомментировал 23 ноября 2020 г. •

Сегодня утром я наконец получил свой ноутбук. Я попытался создать crosstool-ng, чтобы посмотреть, смогу ли я создать цепочку инструментов Xtensa для хостов macOS aarch64. Но я даже не могу построить сам ct-ng. Это терпит неудачу, когда я запускаю make для ct-ng. Похоже, компоновщик не может найти правильный символ.

huming2207 прокомментировал 24 ноября 2020 г.

Хорошо, исправил. Нам нужно добавить -lintl к LDFLAG в kconfig/Makefile.

Теперь я пытаюсь создать цепочку инструментов xtensa для хостов macOS aarch64.

huming2207 прокомментировал 24 ноября 2020 г.

<р>. и не получается построить gmp:

@igrr Не могли бы вы дать несколько предложений? Спасибо.

hpwit прокомментировал 3 декабря 2020 г.

здравствуйте, не могли бы вы мне помочь?
Я сейчас работаю над install.sh
Создание колеса для криптографии (PEP 517) . ошибка
ОШИБКА: Команда завершилась с ошибкой со статусом выхода 1:
команда: /Users/yvesbazin/.espressif/python_env/idf4.3_py3.9_env/bin/python /Users/yvesbazin/.espressif/python_env/ idf4.3_py3.9_env/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /var/folders/jz/vrr0pq9x4k79_1dhcdn0_5ch0000gn/T/tmp8fsxo8h7
cwd: /private/var/folders /jz/vrr0pq9x4k79_1dhcdn0_5ch0000gn/T/pip-install-dzbj27mx/cryptography
Полный вывод (887 строк):
запуск bdist_wheel
запуск сборки
запуск build_py
создание сборки < br />создание build/lib.macosx-11-x86_64-3.9
создание build/lib.macosx-11-x86_64-3.9/cryptography
копирование src/cryptography/init.py -> build/lib .macosx-11-x86_64-3.9/cryptography
копирование src/cryptography/utils.py -> build/lib.macosx-11-x86_64-3.9/cryptography
копирование src/cryptography/about.py - > build/lib.macosx-11-x86_64-3.9/cryptography
копирование src/cryptography/exceptions.py -> build/lib.macosx-11-x86_64-3 .9/cryptography
копирование src/cryptography/fernet.py -> build/lib.macosx-11-x86_64-3.9/cryptography
создание build/lib.macosx-11-x86_64-3.9/cryptography/ hazmat
копирование src/cryptography/hazmat/_der.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat
копирование src/cryptography/hazmat/init.py -> build/ lib.macosx-11-x86_64-3.9/cryptography/hazmat
копирование src/cryptography/hazmat/_oid.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat
создание сборки /lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/oid.py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/ocsp.py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/general_name.py -> build/lib.macosx-11- x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/init.py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/extensions .py -> сборка/lib.macosx-11-x8 6_64-3.9/cryptography/x509
копирование src/cryptography/x509/name.py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/base .py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
копирование src/cryptography/x509/certificate_transparency.py -> build/lib.macosx-11-x86_64-3.9/cryptography/x509
создание build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/backends
копирование src/cryptography/hazmat/backends/interfaces.py -> build/lib.macosx-11-x86_64- 3.9/cryptography/hazmat/backends
копирование src/cryptography/hazmat/backends/init.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/backends
создание build/lib .macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/cmac.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/init.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/poly1305.py - > build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/constant_time.py -> build/lib.macosx-11-x86_64-3.9/cryptography/ hazmat/primitives
копирование src/cryptography/hazmat/primitives/keywrap.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives /hmac.py -> build/lib.macosx-11-x86_64-3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/hashes.py -> build/lib.macosx-11-x86_64 -3.9/cryptography/hazmat/primitives
копирование src/cryptography/hazmat/primitives/padding.py -> buil
.< /p>

hpwit прокомментировал 3 декабря 2020 г.

@akhilv1 Пробовал разные шаги, которые вы упомянули, но я все еще заблокирован в крипточасти
Вы можете мне помочь?

hpwit прокомментировал 4 декабря 2020 г. •

Здравствуйте, мне удалось установить его
Установил предварительное условие (конечно, с терминалом, работающим в режиме rosetta)
У меня была проблема с утверждением len(base_version) == 2, которая при входе в ошибку < br />это потому, что код ожидает, что версия macOS будет macosx-10.14-x86_64 с '.' И если вы измените код для отображения фактического значения, это будет macosx-11-x86_64, следовательно, не "."
Я сделал это в файле site-packages/wheel/maxosx_libfile.py

это не очень чисто, но это работает
надеюсь, это поможет

huming2207 прокомментировал 14 декабря 2020 г.

У меня была еще одна попытка с последним crosstool-ng с вашим xtensa-overlay и конфигурациями. Я также установил пользовательские LDFLAG и CFLAG, чтобы они указывали на установку aarch64 Homebrew для ncurses и gettext. Вот что у меня есть:

Похоже, ioctl почему-то не найден. Может быть, он слишком стар для моего хоста??

huming2207 прокомментировал 14 декабря 2020 г.

Вот полный журнал сборки для справки.

huming2207 прокомментировал 14 декабря 2020 г.

Ну, я пропатчил binutils, но все равно ничего хорошего. Получил это при загрузке GCC (установка компилятора C gcc ядра pass-2):

Я оставлю все как есть и буду использовать свои Linux-машины до тех пор, пока Espressif не исправит его. @игрр

huming2207 прокомментировал 14 декабря 2020 г.

К вашему сведению, вот полный журнал.

mjuhanne прокомментировал 7 января 2021 г. •

Мне удалось добиться успеха на процессоре MacOS Big Sur (11.1) / M1 ARM, установив набор инструментов esp-idf x86, но используя как можно больше собственных пакетов ARM Homebrew:

Сначала установите ARM HomeBrew в /opt/homebrew, как описано в документации Homebrew, и добавьте /opt/homebrew/bin в $PATH (ВАЖНО!) Обратите внимание, что оболочка по умолчанию в Big Sur — zsh (не bash!), поэтому < em>~/.zshrc — это файл, который вам нужно отредактировать. Также убедитесь, что для python не задан псевдоним (поэтому он будет де-факто расположен через $PATH).

Затем обновите brew и установите Python 3.9:

Убедитесь, что python3 является найденным интерпретатором по умолчанию (на основе этой версии будет создана виртуальная среда esp-idf python). Устаревший Python 2.7 на Big Sur работает некорректно:

.. который должен вывести:

Проверьте версию:

Затем установите зависимости и инструменты командной строки Xcode:

Продолжить, как описано в разделе "Получить ESP-IDF":

Добавьте нашу платформу M1 ARM Darwin-arm64 в строку 123 файла tools/idf_tools.py:

Продолжить установку:

Что касается поддержки моста USB-Virtual COM, модули ESP32 на базе CP2102/2104 от Silicon Labs (SiLabs), похоже, работают без каких-либо дополнительных драйверов. Интерфейс отображается как

igrr прокомментировал 7 января 2021 г.

mjuhanne прокомментировал 7 января 2021 г.

К сожалению, это была опечатка. Да, это «Darwin-arm64» (сейчас исправлено в моем посте)

michael-drury прокомментировал 11 января 2021 г.

Я могу установить и собрать свой проект idf, используя Mac M1, и могу успешно запустить

но получить следующее, если я попытаюсь запустить команды "flash" или "erase_flash".

Кто-нибудь знает причину этого/сталкивался с похожей проблемой?

simme прокомментировал 12 января 2021 г. •

Я выполнил шаги, опубликованные @mjuhanne, на моем MacBook Air M1.
Но я столкнулся с проблемами со сценарием установки:

Фатальная ошибка Python: config_get_locale_encoding: не удалось получить кодировку локали: nl_langinfo(CODESET) не удалось
Состояние среды выполнения Python: предварительно инициализировано

Я пытался использовать как fish, так и zsh, а также пытался установить для LANG, LC_ALL и т. д. значение en_US.UTF-8, но безрезультатно. Не уверен, что еще я могу попробовать. И я понимаю, что эта ошибка, вероятно, не имеет строгого отношения к этому проекту, но, возможно, кто-то еще видел то же самое или знает?

Я получаю сообщение об ошибке, когда pip создает колеса для пакета криптографии.

Я уже установил OpenSSL и установил переменные среды, как предлагается в этом посте, но проблема не устранена. Детали моей настройки:

  • Система — Windows 10
  • Питон — 3.8
  • Пип — 19.3.1

Создание криптографии в Windows — очень сложный процесс, и в этом нет необходимости, если только вы не пытаетесь установить более старую версию криптографии. Cryptography поставляет Python 3.8 Windows Wheels для Cryptography 2.8+. Что произойдет, если вы запустите криптографию pip install напрямую?

Прямая установка работает нормально. Однако, когда я устанавливаю его как часть требований.txt, появляется эта ошибка. Как отключить возможность сборки колес? Какие будут последствия, если я это сделаю?

Привязана ли криптография к версии < 2.8 в файле requirements.txt? криптография не поставляла колеса для Python 3.8 в Windows до этого выпуска (потому что Python 3.8 еще не вышел). На других платформах он может использовать особый тип колеса, который работает на нескольких Python, но в Windows для каждой версии Python требуется новое колесо.

12 ответов 12

Установка криптографии версии 2.8 в файле requirements.txt устранила проблему.

Попробуйте использовать криптографию==3.1.1

Это произошло на Python 3.9.0 на ПК с Windows 10. У меня было следующее в файле requirements.txt

Я удалил версию и оставил только криптографию в файле requirements.txt, как показано ниже

Сохранил файл requirements.txt и запустил

Он успешно установлен. Затем я замораживаю файл requirements.txt, выполнив следующую команду

Затем файл requirements.txt был обновлен с помощью cryptography==3.1.1

Я получаю следующую ошибку: ОШИБКА: Не удалось построить колесо для криптографии Не удалось построить криптографию ОШИБКА: Не удалось создать колеса для криптографии, которые используют PEP 517 и не могут быть установлены напрямую

Они начали использовать Rust в версии 3.4, поэтому, чтобы избежать использования Rust, вы можете использовать последнюю версию cryptography==3.3.2

@Igor Jerosimić, спасибо, чувак, это единственный ответ, который имеет смысл и действительно помогает. Navule просто случайным образом меняет версии без какого-либо расширения.

В моем случае (windows 10 + conda) обновление pip решило проблему:

Была также эта проблема. Если вы используете alpine, убедитесь, что установлены все зависимости для криптографии. В моем случае грузовой пакет отсутствовал и вызывал проблему.

Столкнулся с этой проблемой, и решение на самом деле находится в сообщении, когда pip пытается установить openssl перед криптографией:

У меня сработал простой запуск команды pip update:

Какой обновленный пункт с версии 18.0 до версии 21.0.1

Попробуйте обновить pip вашей среды, у меня все работает нормально.

Вы можете использовать последнюю версию с

у меня работало с ubuntu:18.04 на arm32v7 (вместо того, как было предложено в сообщении об ошибке, установите полный компилятор rust и build-essentials или обновите pip (что не повлияло на ubuntu:18.04 на моем armbian))

ОШИБКА: отключение обработки PEP 517 недопустимо: проект указывает бэкэнд сборки setuptools.build_meta в pyproject.toml

Я получил эту ошибку при попытке установить Scrapy с Python 3.8.1 в Windows 10, но ее удалось решить, установив последнюю версию pip (19.3.1 в моем случае), и все работает с использованием pip следующим образом:

Спасибо. Это также сработало для меня. Моя система — Windows 10, Python 3.8.2, Pycharm, и netmiko не устанавливалась из файла require.txt Pycharm. Я зашел внутрь venv и запустил криптографию pip install , что тоже не сработало. Затем я попробовал python -m pip install cryptography , и он установился без проблем. После этого я вернулся к файлу требований Pycharm и щелкнул запись netmiko, чтобы установить его, и все заработало без сбоев.

Я столкнулся с той же проблемой и попытался установить openssl с помощью указанного шага, но все еще не смог продолжить для Windows 10. Позже я обновил pip до последней версии и попытался снова, и это сработало без проблем.

Я бы порекомендовал обновить pip до последней версии и попробовать, прежде чем переходить к установке openssl

Это сработало для меня, но мне также пришлось обновить pip в моем каталоге tox, чтобы позволить tox настроить мои зависимости. Для справки: я использую OSX Big Sur, python 3.8 и обновил оба пипса с 20.3.3 до 21.0.

У меня была такая же проблема. версия pip3 была 19.* после обновления все работает

Вы можете попробовать установить пакет cryptography==3.1.1 вместо версии cryptography 35.

Читайте также: