我有一个BeagleBone Black板。操作系统为Debian GNU / Linux版本9。可以使用HomeBrew安装Python吗?还是HomeBrew仅适用于Mac OS?
答案 0 :(得分:1)
自制软件仅适用于MacOS。
Debian使用apt,但是,它是另一个软件包管理器,通过谷歌的快速搜索,看来您的董事会已经掌握了它。
如果有适用的python版本,则应通过类似这样的命令进行安装
sudo apt-get update
sudo apt-get install python
对于python3:
sudo apt-get install python3
但是,很可能python已经与操作系统捆绑在一起了,在这种情况下,您不必安装python。要检查是否安装了/什么版本的python,您可以执行以下操作:
python --version
或python3:
python3 --version
答案 1 :(得分:1)
在Linux上,您可以使用称为Linuxbrew的Homebrew分支:
可以使用Linux的Windows子系统(WSL)在Linux和Windows 10上使用Homebrew软件包管理器。在Linux或Windows上运行时,Homebrew称为Linuxbrew。它可以安装在您的主目录中,在这种情况下,它不使用sudo。
答案 2 :(得分:0)
不,您不能使用HomeBrew在Debian Linux上安装,因为它仅适用于MacO。
还已经在Debian Linux发行版(例如Ubuntu)中安装了python。但是,可以使用apt-get命令安装Linux发行版中提供的特定版本。我们可以使用apt-cache命令检查Python(预构建)可用软件包的名称。但是,这种安装其他Python版本的方法可能会引起潜在的问题(与OS发行版的原始安装版本冲突)。因此要对此发出警告。
$ apt-cache search python | less
$ sudo apt-get install pythonX.X
相反,最好继续安装所需版本的Python源代码。
有关如何从源代码安装的更多信息和说明,请单击以下链接: http://www.rasadacrea.com/en/web-training-courses/howto-install-python
答案 3 :(得分:0)
让我们从问题的最后一部分开始:
还是HomeBrew仅适用于Mac OS?
Stack Overflow的时间戳显示此问题是在2019年3月7日提出的。在此之前不久,对此的合理答案是:“是的,Homebrew用于macOS,但是Linuxbrew是Homebrew的一个分支,它确实顾名思义:修改Homebrew以在Linux上运行。”
但是,在2019年2月2日-提出问题之前一个多月-Homebrew发布了2.0.0版本。在他们博客上的公告中,他们以以下句子开头:
今天我想宣布Homebrew 2.0.0。最重要的 自1.9.0版以来的更改是对Linux和Windows 10的官方支持 (使用适用于Linux的Windows子系统),运行brew clean 自动,Homebrew / homebrew-core中没有更多选项,并且删除 支持OS X Mountain Lion(10.8)和更早版本。
并进一步说明:
Linux上的Homebrew以前称为“ Linuxbrew”。您可以安装 它在您的主目录中,因此它不需要sudo,并使用它来 安装主机分发包的程序包管理器执行的软件 不提供。 Linux上的Homebrew使用自己的存储库来制定公式: Homebrew / linuxbrew-core
https://brew.sh/2019/02/02/homebrew-2.0.0/
然后,在2019年2月20日,此消息的README.md文件被添加到Linuxbrew github存储库根目录的README.md文件的顶部:
Linuxbrew已合并到Homebrew
Linuxbrew / brew已合并到 Homebrew/brew!现有 Linuxbrew的安装将自动迁移到Homebrew。 Linuxbrew / brew将不再被更新。请参见Homebrew documentation of Linuxbrew和 自制软件2.0.0 blog post。
https://github.com/Linuxbrew/brew/pull/942/files
总之,是的。在发布此问题之前不久,Homebrew正式支持Linux。 Debian GNU / Linux版本9(问题中提到的特定发行版)包括在其中。但是在使用它安装python之前,您很可能需要先安装Homebrew本身,因为默认情况下未在Debian系统上安装它。
Debian 9甚至包括一个'linuxbrew-wrapper'软件包,该软件包在linuxbrew合并为自制软件之前就已经构建好了。
https://packages.debian.org/stretch/linuxbrew-wrapper
考虑到linuxbrew合并回homebrew,它现在是否可以正常工作?好吧,我面前有一个最新的Debian 9 VM,所以让我们尝试一下:
$ 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发行版可以提供所需的大多数开发工具链。
更新一些“路径”环境变量。 Homebrew在文件系统上为已安装的软件添加了一个新位置,该位置与/ bin和/ usr / bin等位置分开,因为OS软件包管理器管理这些目录的内容。将Homebrew的安装位置添加到这些路径中,可以找到Hombrew安装的软件。
brew install gcc
。尽管他们要求大多数开发工具链由您的OS提供,但他们显然已决定要求您安装Brew管理的编译器很重要。这是有道理的,因为您的计算机用来构建其他自制公式的编译器可能会与发布这些公式时正在测试的编译器同步。
原始问题还问过:
您可以使用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:~$
看起来可以!
那么,当您可以使用apt进行安装时,为什么还要使用Homebrew来安装python?围绕这样的问题进行了全面的讨论和辩论,但这是简短的答案...
apt安装的python:
$ /usr/bin/python3 --version
Python 3.5.3
自制软件安装的python:
$ ~/.linuxbrew/bin/python3 --version
Python 3.7.3
3.7.3是我编写本文时的当前python版本。 Apt管理的软件包会在数月或数年的时间范围内更新。自制软件管理的软件包会在几天或几小时内更新。
为什么我们会看到apt和自制软件之间的巨大差异?认为自制是在apt提供的系统之上提供一个系统。许多操作系统级别的实用程序都依赖于apt管理的python安装,并且Debian团队非常小心,不要破坏它们。但是也许您正在开发一些需要新功能的东西,只有最新的python版本才具备。这就是Homebrew旨在解决的问题。