最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

python - Did I incorrectly install ESP-IDF on Mac Os? - Stack Overflow

programmeradmin0浏览0评论

Image of errors im getting

Hi! I'm trying to make sure the hello world example program works before I start making my own projects for university. I followed the instructions on this site: .html#get-started-get-esp-idf. I also configured ESP IDF on vscode with the extension. But, when I loaded up the hello world program, it gave me the two errors about the importing. This is the pytest_hello_world.py file, where I'm getting the errors:

# SPDX-License-Identifier: CC0-1.0

import hashlib
import logging
from typing import Callable

import pytest
from pytest_embedded_idf.dut import IdfDut
from pytest_embedded_qemu.app import QemuApp
from pytest_embedded_qemu.dut import QemuDut


@pytest.mark.supported_targets
@pytest.mark.preview_targets
@pytest.mark.generic
def test_hello_world(
    dut: IdfDut, log_minimum_free_heap_size: Callable[..., None]
) -> None:
    dut.expect('Hello world!')
    log_minimum_free_heap_size()


def verify_elf_sha256_embedding(app: QemuApp, sha256_reported: str) -> None:
    sha256 = hashlib.sha256()
    with open(app.elf_file, 'rb') as f:
        sha256.update(f.read())
    sha256_expected = sha256.hexdigest()

    logging.info(f'ELF file SHA256: {sha256_expected}')
    logging.info(f'ELF file SHA256 (reported by the app): {sha256_reported}')

    # the app reports only the first several hex characters of the SHA256, check that they match
    if not sha256_expected.startswith(sha256_reported):
        raise ValueError('ELF file SHA256 mismatch')


@pytest.mark.esp32  # we only support qemu on esp32 for now
@pytest.mark.host_test
@pytest.mark.qemu
def test_hello_world_host(app: QemuApp, dut: QemuDut) -> None:
    sha256_reported = (
        dut.expect(r'ELF file SHA256:\s+([a-f0-9]+)').group(1).decode('utf-8')
    )
    verify_elf_sha256_embedding(app, sha256_reported)

    dut.expect('Hello world!')

Did I not install a specific prereq, or did I mess up the installation in anyway? Btw, I'm on mac os ventura. I'm sorry if this is a stupid question but I've just spent a lot of time redoing the installations but this error keeps popping up. Thank you so much!

Image of errors im getting

Hi! I'm trying to make sure the hello world example program works before I start making my own projects for university. I followed the instructions on this site: https://docs.espressif/projects/esp-idf/en/latest/esp32/get-started/linux-macos-setup.html#get-started-get-esp-idf. I also configured ESP IDF on vscode with the extension. But, when I loaded up the hello world program, it gave me the two errors about the importing. This is the pytest_hello_world.py file, where I'm getting the errors:

# SPDX-License-Identifier: CC0-1.0

import hashlib
import logging
from typing import Callable

import pytest
from pytest_embedded_idf.dut import IdfDut
from pytest_embedded_qemu.app import QemuApp
from pytest_embedded_qemu.dut import QemuDut


@pytest.mark.supported_targets
@pytest.mark.preview_targets
@pytest.mark.generic
def test_hello_world(
    dut: IdfDut, log_minimum_free_heap_size: Callable[..., None]
) -> None:
    dut.expect('Hello world!')
    log_minimum_free_heap_size()


def verify_elf_sha256_embedding(app: QemuApp, sha256_reported: str) -> None:
    sha256 = hashlib.sha256()
    with open(app.elf_file, 'rb') as f:
        sha256.update(f.read())
    sha256_expected = sha256.hexdigest()

    logging.info(f'ELF file SHA256: {sha256_expected}')
    logging.info(f'ELF file SHA256 (reported by the app): {sha256_reported}')

    # the app reports only the first several hex characters of the SHA256, check that they match
    if not sha256_expected.startswith(sha256_reported):
        raise ValueError('ELF file SHA256 mismatch')


@pytest.mark.esp32  # we only support qemu on esp32 for now
@pytest.mark.host_test
@pytest.mark.qemu
def test_hello_world_host(app: QemuApp, dut: QemuDut) -> None:
    sha256_reported = (
        dut.expect(r'ELF file SHA256:\s+([a-f0-9]+)').group(1).decode('utf-8')
    )
    verify_elf_sha256_embedding(app, sha256_reported)

    dut.expect('Hello world!')

Did I not install a specific prereq, or did I mess up the installation in anyway? Btw, I'm on mac os ventura. I'm sorry if this is a stupid question but I've just spent a lot of time redoing the installations but this error keeps popping up. Thank you so much!

Share Improve this question asked Feb 1 at 23:58 ShrishShrish 52 bronze badges 0
Add a comment  | 

1 Answer 1

Reset to default 0

The python file you are showing is the unit test project, it doesn't work or do anything useful on its own. The ESP-IDF is a C++ framework, you thus need to use C++ to write your program. Check the examples folder of your hello-world project (read again the "Start a project" section of the linked instructions).

发布评论

评论列表(0)

  1. 暂无评论