Luc Shelton

Homebrew and Anaconda: Configuring for Apple M1 and Intel Silicon

Homebrew and Anaconda: Configuring for Apple M1 and Intel Silicon

Homebrew and Anaconda: Configuring for Apple M1 and Intel Silicon

Homebrew and Anaconda: Configuring for Apple M1 and Intel Silicon

5 Minute(s) to read
Posted 24 months ago Updated 24 months ago 5 Minute(s) to read 296 comments

This is a quick article that will serve as a brain dump for how I've recently configured my /bin/bash profile for using Homebrew Package Manager with both M1 and Intel Silicon (with x86 emulated using Rosetta).

Installation Locations

Depending on which CPU architecture you are installing Homebrew Package Manager with will determine where brew is installed. By default, brew will be installed to the following locations.

M1 Silicon Installation Path

If you are using brew on Apple M1 silicon, then the default installation script will install Homebrew Package Manager to the following paths.

#!/bin/bash
/opt/homebrew/bin
/opt/homebrew/Caskroom

Intel Silicon Installation Path

If you are using Homebrew Package Manager on Intel silicon, or through Rosetta emulation, then you will notice that Homebrew is installed to the following paths when you use the default installation script that is available from the official homepage.

#!/bin/bash
/usr/local/bin/brew
/usr/local/Caskroom

Configuring Bash

Now that we know where brew is installed, we can configure bash to automatically load the relevant shell environment depending on which architecture is being used. This is useful if you have multiple copies of iTerm2 (for example), whereby one copy may be configured to launch with Rosetta emulation. If your Terminal instance (including iTerm2) is launched with Rosetta emulation, it will automatically attempt to use Homebrew at the listed installation path above (under "Intel Silicon"). However, because both installations are at different paths, we need some logic to detect which architecture (emulated or not) is being actively used, so we know which shell environment to load.

Refer to the logic below. It uses a command called "uname" to detect which CPU architecture is actively in use. Based on the resulting value, it will then load the relevant shell environment. x86_64 is considered to be Intel Silicon, and arm64 is considered to be Apple M1.

Homebrew Shell Environment

The snippet below describes the logic for automatically loading Homebrew shell environment depending on the architecture.

#!/bin/bash
if [[ "$(uname -m)" == "x86_64" ]]; then
	echo "Loading: Homebrew (x86)"
	eval "$(/usr/local/bin/brew shellenv)"
    CONDA_BREW_PATH=/usr/local/Caskroom/miniconda
else
	echo "Loading: Homebrew (ARM)"
	eval "$(/opt/homebrew/bin/brew shellenv)"
    CONDA_BREW_PATH=/opt/homebrew/Caskroom/miniconda
fi

Anaconda Shell Environment

The snippet below describes the logic (typically generated by Anaconda) for loading the relevant shell environment.

#!/bin/bash
if [[ "$(uname -m)" == "x86_64" ]]; then
    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/usr/local/Caskroom/miniforge/base/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
        eval "$__conda_setup"
    else
        if [ -f "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh" ]; then
            . "/usr/local/Caskroom/miniforge/base/etc/profile.d/conda.sh"  # commented out by conda initialize
        else
            export PATH="/usr/local/Caskroom/miniforge/base/bin:$PATH"  # commented out by conda initialize
        fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<
elif [[ "$(uname -m)" == "arm64" ]]; then
    # >>> conda initialize >>>
    # !! Contents within this block are managed by 'conda init' !!
    __conda_setup="$('/opt/homebrew/Caskroom/miniforge/base/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
    if [ $? -eq 0 ]; then
        eval "$__conda_setup"
    else
        if [ -f "/opt/homebrew/Caskroom/miniforge/base/etc/profile.d/conda.sh" ]; then
            . "/opt/homebrew/Caskroom/miniforge/base/etc/profile.d/conda.sh"  # commented out by conda initialize
        else
            export PATH="/opt/homebrew/Caskroom/miniforge/base/bin:$PATH"  # commented out by conda initialize
        fi
    fi
    unset __conda_setup
    # <<< conda initialize <<<
fi

Configuring iTerm to Launch with Rosetta Emulation

If you are running on Apple M1 silicon, you can still run the same applications with x86 emulation by using Rosetta. You can install Rosetta from the command-line by running the following command.

#!/bin/bash
/usr/sbin/softwareupdate --install-rosetta --agree-to-license

And now you can create a copy of your iTerm installation, and modify the copy to launch with Rosetta emulation. Refer to the screenshots below for greater reference.

A picture of Applications in macOS finder, with a duplicate or copy of iTerm.

A picture of "Applications" in macOS finder, with a duplicate or copy of iTerm.

With your duplicate instance of iTerm, you can then modify the properties so that it launches with Rosetta emulation.

After you've duplicated your iTerm installation and renamed it appropriately, you will then have to modify the properties so that it launches with Rosetta.

After you've duplicated your iTerm installation and renamed it appropriately, you will then have to modify the properties so that it launches with Rosetta.

Additionally, if you want to be able to interchangeably use either Homebrew installations while using one kind of architecture over the other, then you can make use of the following aliases that can be added to your ~/.profile file. It should be noted that this snippet includes support for pyenv, a tool that is used for managing multiple installations of Python on the same machine.

#!/bin/bash
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
alias ibrew='arch -x86_64 /usr/local/bin/brew'
alias mbrew='arch -arm64e /opt/homebrew/bin/brew'

There you have it. You should be able to use Homebrew with both architectures from the same Apple M1 machine.



Comments

Comments

Attractive component of content. I simply stumbled upon your weblog and in accession capital to say that I acquire in fact loved account your blog posts.
Anyway I will be subscribing for your augment and even I
success you access persistently quickly.

Перекусы должны быть здоровыми.Как вы отслеживаете завтрак, обед и ужин, вы также должны смотреть, чем перекусываете.Если вы едите обработанные продукты в качестве закуски, есть вероятность, что вы не потеряете вес, несмотря ни на что. <a href=https://vseledi.ru/kak-delat-minet.html>люблю минет</a>
Итак, нужно выбирать здоровые перекусы.Забейте свою кухню и холодильник фруктами, хумусом, морковью, огурцом, кукурузой и т.

Arpito Mukerji is Managing Director in Apollo’s Asia Real Estate Group, the place he's answerable for sourcing
and overseeing actual property investments in India.

[img]"D:\Xrumer\Vse-proekt\1Xrumer-klienty-shikarido\Картинки-shikari.do\6_933.png"[/img]

Недавно мы давали [b][url=https://shikari.do/u/mmk]пошаговую инструкцию[/url][/b], как безболезненно перейти с офисной работы на фриланс.
Допустим, вы ею воспользовались и теперь работаете на себя: что дальше?

[i][b]Как регулярно [b][url=https://shikari.do/u/mmk]обеспечить поток клиентов и заказов[/url][/b] самостоятельно вырастить бизнес?[/b][/i]

Давайте поговорим об инструментах, которые помогают фрилансеру находить новых клиентов.

1. Сервисы объявлений и справочники: Авито, Профи.ру, FL.ru, Фламп, 2GIS и т.д. — выбирайте сами, какие сервисы и сайты подходят вашему бизнесу, но лучше зарегистрироваться на максимальном количестве доступных площадок. И да, резюме на HeadHunter тоже стоит обновить, ведь там ищут не только сотрудников в офис, но и внештатников, готовых брать заказы регулярно.

2. Профильные группы и каналы в соцсетях. Здесь каждый день публикуются объявления о поиске сотрудника или исполнителя, а еще бывает полезная информация: обмен опытом, кейсы клиентов, скидки на образовательные программы.

Мониторить все группы и каналы, проматывая ненужные посты вручную, — все равно что мыть золотоносный песок: в перспективе выгодно, но в процессе долго и утомительно. И, кстати, сначала все эти группы еще нужно найти. Как тратить на них не 2-3 часа, а 15 минут в день? Попробуйте Shikari.do — наш сервис сам проверит все соцсети (и не только), найдет только нужные посты и выведет их на одну вкладку.

3. Лендинг. Одностраничный сайт-визитка — это очень удобно: здесь можно кратко представить компанию или специалиста, дать инфографику с основными преимуществами, выложить примеры работ, прайс и даже создать форму оплаты заказа.

Конструкторы сайтов (Tilda, WIX, Weebly и д.р.) позволяют каждому создать лендинг самостоятельно, без помощи специалистов. Но позаботьтесь о том, чтобы в текстах на вашем лендинге были ключевые слова из клиентских запросов: чем их больше, тем чаще сайт будет выдаваться поисковиками.

4. Сарафанное радио. От 50 до 91% всех покупок совершаются после рекомендации от другого человека. Маркетинг из уст в уста — инструмент крайне эффективный, но слабо контролируемый. Как добиться рекомендаций от ваших клиентов? Стимулируйте их акциями вроде «Приведи друга», бонусами, вовлекающим контентом в соцсетях и, конечно, высоким уровнем сервиса.

5. Социальные сети. Нужно ли присутствовать во всех? Нет, особенно если вы дублируете контент. Достаточно будет 1-2. Выбирайте те соцсети, где ваша целевая аудитория наиболее активна, а результат работы можно представить с максимальной выгодой.Например, фотографу нужен Instagram, копирайтеру пригодится свой канал в Telegram или аккаунт на Facebook, а мастеру бытовых услуг будет полезна страница во ВКонтакте.

6. Таргетированная реклама. Это следующий шаг для тех, кто уже создал сайт или аккаунт в соцсетях (и заполнил его базовым контентом). Суть таргета в том, что рекламное объявление видит только та аудитория, которую вы определяете как целевую.

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

7. Размещение у блогеров. Люди доверяют людям, а не брендам, поэтому реклама у блогеров — один из самых действенных способов продвижения в интернете. Но не самый доступный: размещение в аккаунте со 100 тыс. подписчиков обойдется примерно в 20 тыс. рублей.

Наш совет: ищите в своей сфере (или в своем городе/районе) микроблогеров с 1-5 тыс. фолловеров. Их аудитория реально целевая, а не размытая, как у «миллионников», при этом лояльная и активная. Просмотрите аккаунт, где хотите размещаться: если при 1000+ подписчиков лайков стабильно меньше 10, блогер ведет накрутки. И обязательно запрашивайте не только прайс, но и статистику по аудитории и охватам.

8. Наружная реклама. Арендуете помещение под мастерскую или офис, но вход в него не так-то просто найти? Штендер у входа, баннерная растяжка, трафаретная реклама с указателями на асфальте или полу торгового центра — все это поможет заинтересовать и сориентировать клиента. А тем, кто работает из дома и ориентируется на аудиторию среднего возраста и дохода, могут пригодиться доски объявлений у подъезда или на остановках транспорта.

9. Полиграфия. «Компьютерный мастер Женя, живу рядом, приду быстро» — находили такое в почтовом ящике? Плюс флаеров и листовок в их невысокой цене, минус — в том, что контакт с таким видом рекламы составляет в среднем 5 секунд, а потом бумага сминается и летит в мусорку.

Полиграфию стоит использовать как дополнительный, не основной метод привлечения клиентов, и она может неплохо сработать, если вы ищете клиентов среди соседей. Но тщательно продумайте текст и дизайн объявления — у вашего флаера будет только один шанс!

10. [b][url=https://shikari.do/u/mmk]Партнерские программы[/url][/b]. Предложите сотрудничество другому фрилансеру или микробизнесу, чтобы обмениваться аудиторией: размещайте рекламу друг у друга, делайте взаимные скидки клиентам и так далее. Если ваши продукты или услуги интересны примерно одним и тем же людям, это даст эффект синергии и будем выгодно вам обоим.

Так каким же способом лучше всего привлекать клиентов? Оптимальный для себя вы сможете подобрать только на практике, но эффективнее всего способы работают в совокупности. Например, регулярно вести соцсети, в профиле закрепить ссылку на лендинг, туда же вести трафик с таргета и разместить у себя баннер кофейни по соседству, где на кассе будут лежать ваши флаеры:

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

У всех желающих есть хорошая возможность создать, как дополнительный интернет заработок, так и работу дома!
С Profittask Вы можете заработать до 1000 руб. в день, выполнив простые задания, находясь в своем доме с доступом в интернет!

Чтобы приступить к работе, вам нужно всего лишь [b][url=https://profittask.com/?from=4102/]скачать бесплатную программу[/url][/b] и начать зарабатывать уже прямо сейчас!
Поверьте это легко, просто и доступно каждому - без навыков и вложений действуйте и у вас обязательно получится!
[url=https://profittask.com/?from=4102]заработок в интернете оплата каждый день[/url]

Есть так много характеристик, которые следует учитывать при выборе ноутбука в 2023 году. Так-же не мало важен дизайн ноутбука, параметры экрана и время автономной работы также должны учитываться при вашем решении. Чтобы помочь, мы составили список самых лучших вариантов ноутбуков, доступных в на 2023 год.
https://electronica.md/blog/
Смотрите по ссылке - http://twosixcode.com/?URL=https://electronica.md/
Покупка ноутбука может быть очень утомительным процессом. Есть так много характеристик, которые следует учитывать при выборе ноутбука в 2023 году. Так-же не мало важен дизайн ноутбука, параметры экрана и время автономной работы также должны учитываться при вашем решении. Чтобы помочь, мы составили список самых лучших вариантов ноутбуков, доступных в на 2023 год.
[url=http://dors.naczasie.eu/index.php/78-strona-glowna/125-dyzkw]Топ 10 лучших ноутбуков 2023 года[/url] bc083aa

Горячее проводится с целью усиления обмена веществ, избавления от солей и отложений жира.Такие добавки, как красный перец, горчица и корица разогревают кожу, открывают поры и помогают полезным микроэлементам проникнуть в глубокие слои.Холодное обертывание способствует сужению пор и сосудов и оттоку шлаков и солевых отложений из-под кожи. [url=https://vseledi.ru/zhenskaja-masturbacija.html]чем можно мастурбировать[/url]
Уходят отеки, и поверхность кожи становится ровной и гладкой, без характерных бугорков при целлюлите.Другие народные средства.

Пекарня "Пироги на Раз Два Три" предлагает доставку пирогов по Москве и области. У нас всегда свежая выпечка исключительно на заказ для каждого клиента, поэтому пироги приедут к вам теплыми, старинные и авторские рецепты, лучшее тесто и широкий выбор начинок. Заказывайте пироги по телефону или на сайте. Всегда рады новым клиентам!
[url=https://pirogi123.ru/]пироги доставка скидка день рождения[/url]
Смотрите по ссылке - http://google.com.mm/url?q=https://pirogi123.ru/
Осетинские пироги – это вкусное и полезное блюдо, которое традиционно готовится из натуральных и экологически чистых продуктов. Их главная особенность в толщине теста - тут оно очень тонкое и составляет не более 30% от изделия. 1 кг такого пирога может утолить голод трём взрослым мужчинам. Осетинские пироги будут уместны как на любом праздничном столе, так и на офисном застолье – сытыми останутся все!
[url=http://www.pecsiriport.hu/koezelet/6573-zenevel-a-menekult-gyermekekert.html]Пекарня "Пироги на Раз Два Три"[/url] 69e3177

<a href=https://accounts.binance.com/en/register?ref=25293193>Multitudinous people are interested in earning on cryptocurrency.</a>

The work allow allows you to work anyplace, in addition to start and run your
personal business in Portugal.