1
resposta

[Reclamação] E em macOS???? Como faz isso?

Olha, eu tô há duas horas tentando fazer esses passos. Já tentei de várias formas.
Utilizo o CONDA pra gerenciar ambientes. Preciso de ajudar aqui... Já tentei com o python 3.9, com 3.11...

O ponto é que toda vez que vou instalar da forma que vocês falam pra fazer, dá esse erro aqui:

        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 320, in find_sources
          mm.run()
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 543, in run
          self.add_defaults()
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 581, in add_defaults
          sdist.add_defaults(self)
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/command/sdist.py", line 109, in add_defaults
          super().add_defaults()
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 245, in add_defaults
          self._add_defaults_ext()
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 330, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
        File "<string>", line 201, in get_source_files
        File "/private/var/folders/l6/npgdnwvs3jddpszznjh_hqdr0000gp/T/pip-build-env-nlfj1uw_/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 131, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Se eu apenas lanço um conda install apache-airflow ele INSTALA corretamente MAS em contrapartida quando coloco o airflow standalone isso me acontece:

(destuff) thais.perdomo@Thais-Palace airflowalura % airflow standalone    
Traceback (most recent call last):
  File "/Users/thais.perdomo/miniconda3/envs/destuff/bin/airflow", line 7, in <module>
    from airflow.__main__ import main
  File "/Users/thais.perdomo/miniconda3/envs/destuff/lib/python3.10/site-packages/airflow/__init__.py", line 34, in <module>
    from airflow import settings
  File "/Users/thais.perdomo/miniconda3/envs/destuff/lib/python3.10/site-packages/airflow/settings.py", line 49, in <module>
    TIMEZONE = pendulum.tz.timezone('UTC')
TypeError: 'module' object is not callable

não sei mais o que fazer. Infelizmente a plataforma do Alura está decepcionando demais em relação ao macOS... Toda hora largo um curso porque não tem uma boa orientaçao

1 resposta

Oi, Thais!

Esse erro AttributeError: cython_sources costuma acontecer quando o PyYAML, que é uma das bibliotecas usadas pelo Airflow, tenta ser compilado com Cython em um ambiente que não está devidamente configurado para isso.

Sugiro seguir estes passos:

  1. Atualizar ferramentas de build
    Antes de instalar o Airflow, garanta que pip, setuptools e wheel estejam atualizados (isso evita falhas na compilação de dependências).

    pip install --upgrade pip setuptools wheel
    

  2. Confirme se o Python do seu ambiente é aceito pela versão do Airflow que você pretende instalar.

    • Airflow 3.0.x (recomendado) → Python 3.9, 3.10, 3.11 ou 3.12. (documentação)
  3. Adicionar o Cython
    A ausência do Cython costuma causar exatamente esse tipo de erro:

    pip install Cython
    
  4. Reinstalar com constraints (e, se precisar, em um ambiente limpo)
    Se ainda assim der problema, crie um novo ambiente (no conda, já que é o que você usa), repita os passos acima e instale o Airflow usando o arquivo de constraints oficial da sua versão, ele “casa” todas as dependências com o seu Python. Deixo um tutorial com o passo a passo:

    • Setting Up Apache Airflow for Local Development. O tutorial está em inglês, mas você poderá utilizar a tradução automática do navegador. Se atente as versões como falei acima no tópico Checar a versão do Python

    • Depois da instalação, rode:

      airflow standalone
      

Observação: se aparecer o erro TypeError: 'module' object is not callable em pendulum.tz.timezone, é conflito de versão do Pendulum. Instalar o Airflow com constraints já resolve isso automaticamente.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!