35
votes

Sortie inattendue de «Arch» sur OSX (en utilisant Mac M1 Installation des haricots élastiques)

Lorsque vous essayez d'installer des haricots élastiques sur MacBook Air M1, en utilisant les éléments suivants:

% ./AWS-Elastic-Beanstalk-cli-setup/scripts/bundled_installer

Comme les directives montrées ici: https://github.com/aws/aws-elastic-beanstalk-cli-setup

J'obtiens l'erreur suivante:

5. Installing Python 3.7.2. This step may take a few minutes
************************************************************
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.7.2.tar.xz...
-> https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
Installing Python-3.7.2...
python-build: use readline from homebrew

BUILD FAILED (OS X 11.1 using python-build 20180424)

Inspect or clean up the working tree at /var/folders/2v/7tdwpjsd3jzdw75jmp2n5trh0000gn/T/python-build.20201225141032.70517
Results logged to /var/folders/2v/7tdwpjsd3jzdw75jmp2n5trh0000gn/T/python-build.20201225141032.70517.log

Last 10 log lines:
checking size of _Bool... 1
checking size of off_t... 8
checking whether to enable large file support... no
checking size of time_t... 8
checking for pthread_t... yes
checking size of pthread_t... 8
checking size of pthread_key_t... 8
checking whether pthread_key_t is compatible with int... no
configure: error: Unexpected output of 'arch' on OSX
make: *** No targets specified and no makefile found.  Stop.
   Exiting due to failure

Merci d'avoir aidé !!!


4 commentaires

J'ai toujours eu des problèmes avec ce script sur un Mac, et j'ai eu plus de chance d'installer l'EB CLI via le Instructions d'installation PIP


Semble un avertissement assez direct que l'architecture du bras de M1 n'est pas soutenue par l'une des dépendances


Python 3.9 est la première version à prendre en charge Mac M1.


Reindert van Herreweghe a publié un Réponse Dire "L'installation manuelle AWS MacOS (utilisant Homebrew) a fonctionné pour moi: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cl‌ i3-install-osx.html "


9 Réponses :


5
votes

Run the terminal using Rosetta - a translation process that allows users to run apps that contiennent des instructions x86_64 sur le silicium Apple.

pour le faire -

  • Command + Space, Type: Utilities => vous amènera au dossier des utilitaires
  • Dupliquez l'application Terminal - appelez-le terminal_x86
  • terminal_x86 => obtenir des informations, marquez-vous à l'aide de Rosetta

  • 1 commentaires

    Ce n'est pas vraiment idéal car vous n'avez besoin qu'une seule fois et pas pour tout ce que vous exécutez dans la solution terminale @elijahr est bien meilleure



    8
    votes

    La commande Arch peut être utilisée pour exécuter des commandes spécifiques via Rosetta:

    arch -x86_64 ./aws-elastic-beanstalk-cli-setup/scripts/bundled_installer
    


    0 commentaires

    31
    votes

    Aucun de ces éléments n'a fonctionné pour moi. J'ai installé les deux bières pour Apple Silicon et Intel:

    arch -x86_64 pyenv install 3.8.9
    

    , puis j'ai installé Pyenv depuis:

    /usr/local/Homebrew/bin/brew install pyenv
    /usr/local/Homebrew/bin/brew link pyenv
    arch -x86_64 pyenv install 3.8.9
    

    et cela a fonctionné

    Modifier

    Comme les points de fromage dans les commentaires, semblent la seule chose à faire est la dernière ligne:

    arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    


    3 commentaires

    Pensez que vous devez faire attention à la façon dont vous utilisez Pyenv avec Rosetta; Il n'est pas clair pour moi ce que le système fera lors de l'exécution ou de la création des deux applications ciblant ARM64 et I386 (en raison des dépendances «non universelles», etc.). Et parce que Homebrew est désormais ombragé à / usr / local / homebrew /... Il souhaite créer des packages à partir de la source, en tant que dépendances sur / usr / local /... ne sont plus respectés, ce qui échoue maintenant car les outils de construction ne sont pas i386. Je le répète, rien de tout cela n'est clair pour moi


    Après avoir tout installé et rencontré cette erreur, il a simplement fonctionné: "Arch -x86_64 Pyenv Installer 3.8.9"


    Oui, vous pouvez raccourcir votre réponse. La dernière commande est celle dont nous avons besoin. (Les commandes / usr / local / homebrew / bin / brew compensent les erreurs, btw).



    17
    votes

    Je viens également de passer à un M1, et j'ai également eu la même erreur. (Venir de pyenv installer 3.8.9 .)

    L'installation de 3.8.10 a fonctionné pour moi. Ils mentionnent le M1 spécifiquement sur le 3.8.10 Reliments Page , alors peut-être quelque chose a dû être réglé:

    Python 3.8.10 Expédie deux installateurs: les systèmes par défaut 64 bits qui fonctionnent sur MacOS 10.9 (Mavericks) et les systèmes ultérieurs, et un installateur expérimental "Universal2" pour MacOS 11 (Big Sur) et plus tard

    (c'est si vous avez besoin de 3,8x pour une raison quelconque. Ils sont sur 3.9.x en ce moment.)


    1 commentaires

    Ceci est le M1 Pyenv Installer Python 3.8 que vous recherchez!



    1
    votes

    La solution la plus simple est simplement d'utiliser Brew pour installer EBCLI. Brew Install Awsebcli . Il gérera toutes les variations liées à Mac étranges pour vous

    https://docs.aws .amazon.com / ElasticBeanStalk / Dermter / DG / EB-CLI3-INSTALL-OSX.html


    2 commentaires

    Comme il est actuellement écrit, votre réponse n'est pas claire. S'il vous plaît modifier pour ajouter des détails supplémentaires qui aideront les autres à comprendre comment cela répond à la question posée. Vous pouvez trouver plus d'informations sur la façon d'écrire de bonnes réponses dans le centre d'aide .


    Je ne pense pas que ce soit une solution valable. Déjà essayé dans le mien et semble être trop aléatoire



    1
    votes

    Si vous n'êtes pas ici à cause des haricots élastiques, mais à cause de PYENV et que vous obtenez également l'erreur Sortie inattendue de 'Arch' sur OSX , essayez d'installer une version ultérieure / différente de python. J'ai vécu cela lors de l'installation de 3.7.0, mais l'installation de 3.7.12 a fonctionné pour moi.


    1 commentaires

    Incroyable, exactement ce que je cherchais. Merci. (3.7.10 a également fonctionné)



    1
    votes

    Si vous utilisez PYENV pour gérer Python dans votre machine. Avez-vous déjà essayé ceci:

    https://raw.githubusercontent.com/Homebrew/formula-patches/113aa84/python/3.8.3.patch\?full_index\=1)
    

    comme était lié ici: https://github.com/pyenv/pyenv/issues/1768#issUoMment- 753756051

    Si vous avez le même problème après l'exécution du code ci-dessus, essayez:

    softwareupdate --all --install --force
    sudo rm -rf /Library/Developer/CommandLineTools
    sudo xcode-select --install
    

    comme était lié ici: https://github.com/pyenv/pyenv/issues/2201#issUcoment-Cy 1001597344

    eux:

    pyenv install --patch 3.8.6 <<(curl -sSL https://raw.githubusercontent.com/Homebrew/formula-patches/113aa84/python/3.8.3.patch\?full_index\=1)
    

    C'est ainsi que je l'ai résolu sur mon MacBook Air M1.


    2 commentaires

    Étonnamment, cela a fonctionné pour moi pour installer 3.8.5 via Pyenv sur M1 Mac. (juste la première étape)


    C'est une bonne idée - mais échoue toujours (avec une erreur de bras liée à une architecture différente) sur Monterey 12.1 avec M1 Pro. Je vais voir si des versions plus récentes qui 3.7.12



    2
    votes

    pour ceux qui gèrent la version Python à l'aide de PYENV. Cela a fonctionné pour moi sur Mac M1.

    CC=/opt/homebrew/bin/gcc-11 arch -x86_64 pyenv install 3.8.6
    


    0 commentaires

    0
    votes

    M1 sur Mac semble "trop ​​mis à jour". Vous devez donc mettre à jour une version supérieure pour Python et PIP en utilisant: Pyenv Install 3.8.10


    0 commentaires