Совместим ли HomeBrew с Debian GNU / Linux? - PullRequest
0 голосов
/ 07 марта 2019

У меня есть доска BeagleBone Black. ОС Debian GNU / Linux версии 9. Можете ли вы использовать HomeBrew для установки Python? Или HomeBrew только для Mac OS?

Ответы [ 4 ]

1 голос
/ 01 апреля 2019

Давайте начнем с этой последней части вопроса:

Или HomeBrew только для Mac OS?

Метка времени Stack Overflow показывает, что этот вопрос был задан 7 марта 2019 года. Незадолго до этого разумным ответом на это было бы «да, Homebrew предназначен для macOS, но Linuxbrew - это форк Homebrew, который делает что означает название: модифицирует Homebrew для работы в Linux ».

Однако 2 февраля 2019 года - чуть более чем за месяц до того, как был задан вопрос - Homebrew анонсировал версию 2.0.0. В объявлении в своем блоге они открыли это предложение:

Сегодня я хотел бы объявить Homebrew 2.0.0. Наиболее значимым Изменения, начиная с 1.9.0, являются официальной поддержкой для Linux и Windows 10 (с подсистемой Windows для Linux), запуск brew cleanup выполняется автоматически, больше никаких опций в Homebrew / homebrew-core и удалении поддержки OS X Mountain Lion (10.8) и старше.

и дальнейшее объяснение:

Homebrew в Linux ранее назывался «Linuxbrew». Вы можете установить это в вашем домашнем каталоге, поэтому он не требует sudo, и использовать его для установить программное обеспечение, которое делает менеджер пакетов вашего хост-дистрибутива не предоставлять. Homebrew в Linux использует собственный репозиторий для формул: Homebrew / linuxbrew-жильный

https://brew.sh/2019/02/02/homebrew-2.0.0/

Затем, 20 февраля 2019 года, файл README.md, это сообщение было добавлено в начало файла README.md в корне репозитория Linuxbrew github:

Linuxbrew был объединен с Homebrew

Linuxbrew / brew был объединен с Homebrew / варка ! Существующий Установки Linuxbrew будут автоматически перенесены на Homebrew. Linuxbrew / brew больше не будет обновляться. См. Доморощенный документация по Linuxbrew и Доморощенный 2.0.0 блог почта .

https://github.com/Linuxbrew/brew/pull/942/files

Короче говоря, да. До того, как этот вопрос был опубликован, Homebrew официально поддерживает Linux. Debian GNU / Linux version 9, конкретный дистрибутив, упомянутый в вопросе, включен в этот список. Но прежде чем вы сможете использовать его для установки python, вам, скорее всего, нужно будет установить саму Homebrew, поскольку по умолчанию он не установлен в системе Debian.

Debian 9 даже включает в себя пакет 'linuxbrew-wrapper', который был бы собран задолго до слияния linuxbrew с homebrew.

https://packages.debian.org/stretch/linuxbrew-wrapper

Будет ли это работать хорошо, учитывая слияние linuxbrew и homebrew? Ну, передо мной стоит современная VM Debian 9, так что давайте попробуем:

$ sudo apt install linuxbrew-wrapper
[...]
The following additional packages will be installed:
  fonts-lato libruby2.3 rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit
  ruby2.3 rubygems-integration zip
Suggested packages:
  ri ruby-dev bundler
The following NEW packages will be installed:
  fonts-lato libruby2.3 linuxbrew-wrapper rake ruby ruby-did-you-mean ruby-minitest ruby-net-telnet ruby-power-assert
  ruby-test-unit ruby2.3 rubygems-integration zip
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,447 kB of archives.
After this operation, 27.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
[...]
$ 

Так оно сейчас установлено? Давайте спросим dpkg:

$ dpkg --status linuxbrew-wrapper
Package: linuxbrew-wrapper
Status: install ok installed
[...]
Description: Homebrew package manager for Linux
 Linuxbrew is a fork of Homebrew, the Mac OS package manager, for Linux.
[...]
 This package provides Linuxbrew install scripts instead of linuxbrew itself.
Homepage: http://linuxbrew.sh/

Таким образом, он установил пакет, но пакет является «оболочкой» со сценариями установки, и у пакета все еще есть старое описание linuxbrew. Что произойдет, если мы попытаемся запустить brew?

$ type brew
brew is /usr/bin/brew
$ brew

========================================================================
For the convenience of using linuxbrew it is recommended to update the
following environment variables after installing linuxbrew.

  PATH, MANPATH, INFOPATH 

Set HOMEBREW_BOTTLE_DOMAIN environment variable if you prefer some
homebrew mirror as your upstream.

(example: /usr/share/doc/linuxbrew-wrapper/examples/profile)
========================================================================
==> This script will install:
/home/parallels/.linuxbrew/bin/brew
/home/parallels/.linuxbrew/Library/...
/home/parallels/.linuxbrew/share/doc/homebrew
/home/parallels/.linuxbrew/share/man/man1/brew.1
/home/parallels/.linuxbrew/share/zsh/site-functions/_brew
/home/parallels/.linuxbrew/etc/bash_completion.d/brew
/home/parallels/.cache/Homebrew/

Press RETURN to continue or any other key to abort
==> Downloading and installing Linuxbrew...
[...]
==> Migrating from Linuxbrew/brew to Homebrew/brew
  Linuxbrew/brew has been merged into Homebrew/brew!
  Linuxbrew/brew will no longer be updated.
  Your git remote has been changed from
     https://github.com/Linuxbrew/brew
  to https://github.com/Homebrew/brew
  See the blog post at https://brew.sh/2019/02/02/homebrew-2.0.0/
Updating Homebrew...
[...]
==> Tapping homebrew/core
Cloning into '/home/parallels/.linuxbrew/Library/Taps/homebrew/homebrew-core'...
[...]
Warning: /home/parallels/.linuxbrew/bin is not in your PATH.
==> Installation successful!
==> Next steps
Install the Linuxbrew dependencies:

Debian, Ubuntu, etc.:
  `sudo apt-get install build-essential`

Fedora, Red Hat, CentOS, etc.:
  `sudo yum groupinstall 'Development Tools'`

See http://linuxbrew.sh/#dependencies for more information.

Add to your ~/.bash_profile by running
  echo 'export PATH="/home/parallels/.linuxbrew/bin:$PATH"' >>~/.bash_profile
  echo 'export MANPATH="/home/parallels/.linuxbrew/share/man:$MANPATH"' >>~/.bash_profile
  echo 'export INFOPATH="/home/parallels/.linuxbrew/share/info:$INFOPATH"' >>~/.bash_profile

We recommend you install GCC by running `brew install gcc`.
Run `brew help` to get started
Further documentation: https://git.io/brew-docs
==> Homebrew has enabled anonymous aggregate user behaviour analytics
Read the analytics documentation (and how to opt-out) here:
  https://git.io/brew-analytics
Homebrew 2.0.6
Homebrew/linuxbrew-core (git revision 69e4; last commit 2019-03-31)

Круто, он автоматически обновился до перехода с Linuxbrew на Homebrew. Примечательно, что он по-прежнему использует имя каталога ~/.linuxbrew для хранения своих файлов. Все, что нам нужно сделать для завершения установки:

  • Установите все apt-зависимости, упомянутые в результатах установки. Homebrew строит вещи из исходного кода, и ваш дистрибутив Linux может предоставить большую часть нужного набора инструментов разработки.

  • Обновление некоторых переменных окружения 'path'. Homebrew добавляет новое расположение в вашей файловой системе для установленного программного обеспечения, отдельно от таких мест, как / bin и / usr / bin, поскольку менеджер пакетов ОС управляет содержимым этих каталогов. Добавление места установки Homebrew к этим путям позволяет найти программное обеспечение, установленное Hombrew.

  • brew install gcc.Хотя они просили, чтобы большая часть инструментария разработки была предоставлена ​​вашей ОС, они, очевидно, решили, что важно попросить вас установить компилятор, управляемый brew.Это имеет некоторый смысл, поскольку компилятор, используемый на вашей машине для создания других формул homebrew, предположительно будет синхронизирован с компилятором, с которым он тестирует, когда публикует эти формулы.

Оригиналтакже задан вопрос:

Можете ли вы использовать HomeBrew для установки Python?

Давайте попробуем:

$ brew install python
==> Installing dependencies for python: patchelf, pkg-config, gdbm, openssl, gpatch, ncurses, readline, sqlite, xz, bzip2, libffi and zlib
[...]
==> Installing python
==> Downloading https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tar.xz
[...]
==> Caveats
Python has been installed as
  /home/parallels/.linuxbrew/bin/python3
[...]
See: https://docs.brew.sh/Homebrew-and-Python
[...]
parallels@debian-gnu-linux-vm:~$

Похоже, вы можете!

Итак, почему вы хотите использовать Homebrew для установки python, если вы можете сделать это с помощью apt?Ну, есть целая дискуссия и дебаты по таким вопросам, но вот краткий ответ ...

Python, установленный apt:

$ /usr/bin/python3 --version
Python 3.5.3

Python, установленный homebrew:

$ ~/.linuxbrew/bin/python3 --version
Python 3.7.3

3.7.3 - текущая версия Python на момент написания этой статьи.Пакеты, управляемые Apt, обновляются в масштабе месяцев или лет.Пакеты, управляемые Homebrew, обновляются с временными рамками в днях или часах.

Почему мы видим столь резкое различие между apt и homebrew?Думайте о домашнем пиве как о системе, поставляемой поверх системы, предоставленной apt.Многие утилиты уровня ОС полагаются на установку Python, управляемую apt, и команда Debian старается не сломать их.Но, возможно, вы работаете над чем-то, что нуждается в новых функциях, которые есть только в новейших выпусках Python.Это та проблема, которую Homebrew стремится решить.

1 голос
/ 09 марта 2019

В Linux вы можете использовать форк Homebrew под названием Linuxbrew :

Менеджер пакетов Homebrew может использоваться в Linux и Windows 10 с использованием подсистемы Windows для Linux (WSL). Homebrew называется Linuxbrew при работе в Linux или Windows. Он может быть установлен в вашем домашнем каталоге, и в этом случае он не использует sudo.

1 голос
/ 07 марта 2019

Homebrew работает только на MacOS.

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

Если есть версияPython, который работает, его можно установить с помощью команды, подобной

sudo apt-get update
sudo apt-get install python 

для python3:

sudo apt-get install python3

Однако вполне возможно, что python уже связан с ОС, и в этом случаевам не придется устанавливать Python.Чтобы проверить, установлена ​​ли / какая версия python, вы можете сделать:

python --version 

или для python3:

python3 --version 
0 голосов
/ 07 марта 2019

Нет, вы не можете использовать HomeBrew для установки на Debian Linux, потому что он предназначен только для MacO.

Также python уже установлен в дистрибутивах Debian Linux, таких как Ubuntu.Тем не менее, можно установить конкретную версию, доступную в дистрибутиве Linux, с помощью команды apt-get.Мы можем проверить имена Python (предварительно собранных) доступных пакетов с помощью команды apt-cache.Однако этот способ установки дополнительных версий Python может стать источником потенциальных проблем (конфликтует с оригинальной установленной версией дистрибутива ОС).Поэтому следует предупредить об этом.

 $ apt-cache search python | less
 $ sudo apt-get install pythonX.X

Скорее, предпочтительнее приступить к установке желаемой версии исходного кода Python.

для получения дополнительной информации и инструкций по установке из исходного кода, перейдите по этой ссылке: http://www.rasadacrea.com/en/web-training-courses/howto-install-python

...