Homebrew / brew

🍺 The missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
41.61k stars 9.79k forks source link

Python3 version upgrade 3.7.7 -> 3.8.4 breaks pip command, does not transfer pip packages #8051

Closed wesinator closed 4 years ago

wesinator commented 4 years ago

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you repeatedly fail to use the issue template, we will block you from ever submitting issues to Homebrew again.

What you were trying to do (and why)

brew upgrade to upgrade packages including python3 (was at python3.7.7)

What happened (include command output)

python3 upgraded from 3.7.7 to 3.8.4 pip command is broken and pip packages that were installed in python3.7 were not transferred to the new python version (3.8.4).

$ pip -bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory

which pip : /usr/local/bin/pip

which python3: /usr/local/bin/python3

which python3.8 : /usr/local/bin/python3.8

python3.7 binaries seems to have been totally removed

Command output
chronicle                                protopie
ckan                                     prowritingaid
classroom-assistant                      proxyman
clean-me                                 publish-or-perish
cleanmymac                               pyfa
cleanshot                                qgis
cloud-pbx                                qownnotes
clover-configurator                      qq
cmake                                    qqmacmgr
cookie                                   qt-creator-dev
copyq                                    quicken
corretto                                 quicksync
corretto8                                qutebrowser
coteditor                                qv2ray
craftmanager                             raspberry-pi-imager
cryo                                     razorsql
curio                                    refined-github-safari
customshortcuts                          rekordbox
dash                                     responsively
dashlane                                 roaringapps
data-integration                         rocket-chat
datadog-agent                            royal-tsx
deepl                                    rstudio
devdocs                                  rstudio-preview
developerexcuses                         runjs
digikam                                  runway
docker-edge                              safari-technology-preview
dotnet                                   sapmachine-jdk
dotnet-sdk                               scaleft
downie                                   scilab
drawio                                   scratch
dropbox-beta                             screaming-frog-seo-spider
dungeon-crawl-stone-soup-console         screen
dungeon-crawl-stone-soup-tiles           seadrive
dynobase                                 selfcontrol
electerm                                 sensei
eloston-chromium                         sequel-ace
exodus                                   session
expressvpn                               shotcut
ezip                                     shutter-encoder
feishu                                   sidequest
firecamp                                 signal
flash-npapi                              signal-beta
flash-player                             simplenote
flash-player-debugger                    simply-fortran
flash-ppapi                              sizzy
fldigi                                   soapui
flipper                                  sourcetrail
fly                                      splice
fm3-edit                                 stack-stack
fme-desktop                              stats
fontlab                                  stoplight-studio
fpcsrc                                   strawberry
freeyourmusic                            stretchly
front                                    studio-3t
fsnotes                                  sunvox
gemini                                   surge
geneious-prime                           swiftformat-for-xcode
geogebra                                 swish
geotag-photos-pro                        syncterm
geph                                     syntax-highlight
gitahead                                 tandem
gitkraken                                tap-forms
glyphs                                   tastyworks
gog-galaxy                               telavox-flow
google-chrome                            telegram-desktop-dev
grids                                    tempo
ha-menu                                  tencent-meeting
hackintool                               terminus
hex-fiend-beta                           termius-beta
hstracker                                texmacs
hype                                     texpad
igv                                      tg-pro
imgotv                                   the-clock
insomnia                                 thunderbird
insomnia-designer                        tidepool-uploader
ipfs                                     timecamp
iterm2-beta                              timeular
ithoughtsx                               tinkerwell
itubedownloader                          toggl
itunes-producer                          torguard
jalbum                                   tortoisehg
jami                                     transocks
jasp                                     trilium-notes
jasper                                   trojan-qt5
jaxx-liberty                             tropy
jdk-mission-control                      tunnelblick-beta
jedit-omega                              twine
jetbrains-toolbox                        typora
joplin                                   ultimaker-cura
katalon-studio                           unite
kext-updater                             universal-media-server
kite                                     upm
kiwix                                    upwork
knime                                    uu-booster
krisp                                    vassal
kstars                                   virtualbox-extension-pack
kubernetic                               visual-studio
kui                                      visual-studio-code-insiders
lark                                     vmware-horizon-client
lazarus                                  vrew
lbry                                     vscodium
lightproxy                               warzone-2100
local                                    webcatalog
loginputmac                              webtorrent
loom                                     wechat
losslesscut                              whalebird
macvim                                   whatsapp
mailbutler                               wifi-explorer
marginnote                               wingpersonal
marvel                                   wondershare-uniconverter
master-pdf-editor                        workflowy
mattermost                               wormhole
mdrp                                     wrike
melodics                                 wwdc
melonbooksviewer                         xcodeclangformat
menubar-stats                            yandex-cloud-cli
meshcommander                            yate
metasploit                               yinxiangbiji
meteorologist                            youdaonote
michaelvillar-timer                      zenmate-vpn
microsoft-azure-storage-explorer         zulu
microsoft-edge                           zulu11
microsoft-edge-beta                      zulu13
microsoft-edge-dev                       zulu7
microsoft-excel                          zulu8
microsoft-office
==> Deleted Casks
cocoscreator               lunchy                     riot
hipchat                    nimble                     x48
intelliscape-caffeine      obinslab-starter           xmrouter

==> Upgrading 28 outdated packages:
pkg-config 0.29.2_2 -> 0.29.2_3
mongodb/brew/mongodb-community 4.2.5 -> 4.2.8
pandoc 2.9.2.1 -> 2.10
docker 19.03.8 -> 19.03.12
kibana 6.8.7 -> 7.8.0
cmake 3.17.0_1 -> 3.17.3
python@3.8 3.8.2 -> 3.8.4
libyaml 0.2.2 -> 0.2.5
icu4c 64.2 -> 67.1
glib 2.64.1_1 -> 2.64.4
awscli 2.0.7 -> 2.0.32
node@10 10.19.0 -> 10.21.0
sqlite 3.31.1 -> 3.32.3
curl 7.69.1 -> 7.71.1
gettext 0.20.1 -> 0.20.2_1
hexyl 0.7.0 -> 0.8.0
unrar 5.9.2 -> 5.9.4
oniguruma 6.9.4 -> 6.9.5-rev1
pcre2 10.34 -> 10.35
node 13.12.0 -> 14.5.0
docker-compose 1.25.4_1 -> 1.26.2
file-formula 5.38 -> 5.39
fish 3.1.0_1 -> 3.1.2
elasticsearch 6.8.7 -> 7.8.0
protobuf 3.12.3 -> 3.12.3_1
git 2.26.0 -> 2.27.0
libffi 3.2.1 -> 3.3
vault 1.3.4 -> 1.4.3
==> Upgrading curl 7.69.1 -> 7.71.1
==> Downloading https://homebrew.bintray.com/bottles/curl-7.71.1.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/99d574c0dec0a50f21ce7
######################################################################## 100.0%
==> Pouring curl-7.71.1.mojave.bottle.tar.gz
==> Caveats
curl is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have curl first in your PATH run:
  echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find curl you may need to set:
  export LDFLAGS="-L/usr/local/opt/curl/lib"
  export CPPFLAGS="-I/usr/local/opt/curl/include"

For pkg-config to find curl you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/curl/lib/pkgconfig"

zsh completions have been installed to:
  /usr/local/opt/curl/share/zsh/site-functions

fish completions have been installed to:
  /usr/local/opt/curl/share/fish/vendor_completions.d
==> Summary
🍺  /usr/local/Cellar/curl/7.71.1: 466 files, 3.3MB
==> `brew cleanup` has not been run in 30 days, running now...
Removing: /usr/local/Cellar/curl/7.69.1... (459 files, 3.2MB)
Removing: /Users/admin/Library/Caches/Homebrew/file-formula--5.38.mojave.bottle.tar.gz... (38.6KB)
Removing: /usr/local/Cellar/libmagic/5.38... (323 files, 7MB)
Removing: /usr/local/Cellar/openssl/1.0.2t... (1,795 files, 12.0MB)
Removing: /Users/admin/Library/Caches/Homebrew/pandoc--2.9.2.1.mojave.bottle.tar.gz... (18.4MB)
Removing: /Users/admin/Library/Caches/Homebrew/python--3.7.7.mojave.bottle.tar.gz... (14.9MB)
Removing: /Users/admin/Library/Caches/Homebrew/Cask/virtualbox--6.1.10,138449.dmg... (117.9MB)
Removing: /Users/admin/Library/Logs/Homebrew/jansson... (64B)
Removing: /Users/admin/Library/Logs/Homebrew/protobuf-c... (64B)
Removing: /Users/admin/Library/Logs/Homebrew/yara... (64B)
Removing: /Users/admin/Library/Logs/Homebrew/protobuf... (64B)
==> Upgrading icu4c 64.2 -> 67.1
==> Downloading https://homebrew.bintray.com/bottles/icu4c-67.1.mojave.bottle.ta
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/b6069459c78f18045ee92
######################################################################## 100.0%
==> Pouring icu4c-67.1.mojave.bottle.tar.gz
==> Caveats
icu4c is keg-only, which means it was not symlinked into /usr/local,
because macOS provides libicucore.dylib (but nothing else).

If you need to have icu4c first in your PATH run:
  echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> /Users/admin/.bash_profile
  echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find icu4c you may need to set:
  export LDFLAGS="-L/usr/local/opt/icu4c/lib"
  export CPPFLAGS="-I/usr/local/opt/icu4c/include"

For pkg-config to find icu4c you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/icu4c/67.1: 258 files, 71MB
Removing: /usr/local/Cellar/icu4c/64.2... (257 files, 69.2MB)
==> Upgrading node@10 10.19.0 -> 10.21.0
==> Downloading https://homebrew.bintray.com/bottles/node%4010-10.21.0.mojave.bo
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/11f1d58110562399626b0
######################################################################## 100.0%
==> Pouring node@10-10.21.0.mojave.bottle.tar.gz
==> Caveats
node@10 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have node@10 first in your PATH run:
  echo 'export PATH="/usr/local/opt/node@10/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find node@10 you may need to set:
  export LDFLAGS="-L/usr/local/opt/node@10/lib"
  export CPPFLAGS="-I/usr/local/opt/node@10/include"

==> Summary
🍺  /usr/local/Cellar/node@10/10.21.0: 4,302 files, 54MB
Removing: /usr/local/Cellar/node@10/10.19.0... (4,263 files, 53.8MB)
==> Upgrading sqlite 3.31.1 -> 3.32.3
==> Downloading https://homebrew.bintray.com/bottles/sqlite-3.32.3.mojave.bottle
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/b89dc46dace451b2adc7f
######################################################################## 100.0%
==> Pouring sqlite-3.32.3.mojave.bottle.tar.gz
==> Caveats
sqlite is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have sqlite first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/usr/local/opt/sqlite/lib"
  export CPPFLAGS="-I/usr/local/opt/sqlite/include"

For pkg-config to find sqlite you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/sqlite/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/sqlite/3.32.3: 11 files, 4MB
Removing: /usr/local/Cellar/sqlite/3.31.1... (11 files, 4MB)
==> Upgrading libffi 3.2.1 -> 3.3
==> Downloading https://homebrew.bintray.com/bottles/libffi-3.3.mojave.bottle.ta
######################################################################## 100.0%
==> Pouring libffi-3.3.mojave.bottle.tar.gz
==> Caveats
libffi is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find libffi you may need to set:
  export LDFLAGS="-L/usr/local/opt/libffi/lib"
  export CPPFLAGS="-I/usr/local/opt/libffi/include"

For pkg-config to find libffi you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

==> Summary
🍺  /usr/local/Cellar/libffi/3.3: 16 files, 484.8KB
Removing: /usr/local/Cellar/libffi/3.2.1... (16 files, 296.8KB)
==> Upgrading file-formula 5.38 -> 5.39
==> Downloading https://homebrew.bintray.com/bottles/file-formula-5.39.mojave.bo
######################################################################## 100.0%
==> Pouring file-formula-5.39.mojave.bottle.tar.gz
==> Caveats
file-formula is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have file-formula first in your PATH run:
  echo 'export PATH="/usr/local/opt/file-formula/bin:$PATH"' >> /Users/admin/.bash_profile

==> Summary
🍺  /usr/local/Cellar/file-formula/5.39: 10 files, 117.2KB
Removing: /usr/local/Cellar/file-formula/5.38... (10 files, 114.7KB)
==> Upgrading python@3.8 3.8.2 -> 3.8.4
==> Downloading https://homebrew.bintray.com/bottles/python%403.8-3.8.4.mojave.b
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/4cc0fc162f6fdc7f1443e
######################################################################## 100.0%
==> Pouring python@3.8-3.8.4.mojave.bottle.tar.gz
==> /usr/local/Cellar/python@3.8/3.8.4/bin/python3 -s setup.py --no-user-cfg ins
==> /usr/local/Cellar/python@3.8/3.8.4/bin/python3 -s setup.py --no-user-cfg ins
==> /usr/local/Cellar/python@3.8/3.8.4/bin/python3 -s setup.py --no-user-cfg ins
==> Caveats
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.8/libexec/bin

You can install Python packages with
  pip3 install 
They will install into the site-package directory
  /usr/local/lib/python3.8/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> Summary
🍺  /usr/local/Cellar/python@3.8/3.8.4: 4,330 files, 66.8MB
Removing: /usr/local/Cellar/python/3.7.7... (4,084 files, 62MB)
Removing: /usr/local/Cellar/python@3.8/3.8.2... (4,124 files, 62.7MB)
==> Upgrading libyaml 0.2.2 -> 0.2.5
==> Downloading https://homebrew.bintray.com/bottles/libyaml-0.2.5.mojave.bottle
######################################################################## 100.0%
==> Pouring libyaml-0.2.5.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/libyaml/0.2.5: 10 files, 301.6KB
Removing: /usr/local/Cellar/libyaml/0.2.2... (9 files, 291.6KB)
==> Upgrading glib 2.64.1_1 -> 2.64.4
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.20.2_1.mojave.bot
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/52067198cab528f05fdc0
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/glib-2.64.4.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/70e9afe4b735e858e15a5
######################################################################## 100.0%
==> Installing dependencies for glib: gettext
==> Installing glib dependency: gettext
==> Pouring gettext-0.20.2_1.mojave.bottle.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/gettext
==> Summary
🍺  /usr/local/Cellar/gettext/0.20.2_1: 1,929 files, 18.7MB
==> Installing glib
==> Pouring glib-2.64.4.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/glib/2.64.4: 436 files, 15.7MB
Removing: /usr/local/Cellar/glib/2.64.1_1... (436 files, 15.6MB)
==> Upgrading awscli 2.0.7 -> 2.0.32
==> Downloading https://homebrew.bintray.com/bottles/awscli-2.0.32.mojave.bottle
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a6d046efbb7da16e5b493
######################################################################## 100.0%
==> Pouring awscli-2.0.32.mojave.bottle.tar.gz
==> Caveats
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/awscli/2.0.32: 11,520 files, 81.5MB
Removing: /usr/local/Cellar/awscli/2.0.7... (10,772 files, 77.8MB)
==> Upgrading gettext 0.20.2_1 -> 0.20.2_1
Removing: /usr/local/Cellar/gettext/0.20.1... (1,899 files, 18.5MB)
==> Upgrading hexyl 0.7.0 -> 0.8.0
==> Downloading https://homebrew.bintray.com/bottles/hexyl-0.8.0.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/465474b8dd2b6344efda4
######################################################################## 100.0%
==> Pouring hexyl-0.8.0.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/hexyl/0.8.0: 7 files, 672.9KB
Removing: /usr/local/Cellar/hexyl/0.7.0... (6 files, 652.3KB)
==> Upgrading unrar 5.9.2 -> 5.9.4
==> Downloading https://homebrew.bintray.com/bottles/unrar-5.9.4.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a45568c9d67db8866971a
######################################################################## 100.0%
==> Pouring unrar-5.9.4.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/unrar/5.9.4: 6 files, 499.4KB
Removing: /usr/local/Cellar/unrar/5.9.2... (6 files, 499.4KB)
==> Upgrading oniguruma 6.9.4 -> 6.9.5-rev1
==> Downloading https://homebrew.bintray.com/bottles/oniguruma-6.9.5-rev1.mojave
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/40fd839d421fba70280c0
######################################################################## 100.0%
==> Pouring oniguruma-6.9.5-rev1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/oniguruma/6.9.5-rev1: 16 files, 1.3MB
Removing: /usr/local/Cellar/oniguruma/6.9.4... (17 files, 1.3MB)
==> Upgrading pcre2 10.34 -> 10.35
==> Downloading https://homebrew.bintray.com/bottles/pcre2-10.35.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/d7be9b0193654484e40bc
######################################################################## 100.0%
==> Pouring pcre2-10.35.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/pcre2/10.35: 230 files, 6.0MB
Removing: /usr/local/Cellar/pcre2/10.34... (230 files, 5.9MB)
==> Upgrading node 13.12.0 -> 14.5.0
==> Downloading https://homebrew.bintray.com/bottles/node-14.5.0.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/3f29cb2043ac857f2339e
######################################################################## 100.0%
==> Pouring node-14.5.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/14.5.0: 4,659 files, 61.0MB
Removing: /usr/local/Cellar/node/13.12.0... (4,660 files, 60.2MB)
==> Upgrading docker-compose 1.25.4_1 -> 1.26.2
==> Downloading https://homebrew.bintray.com/bottles/docker-compose-1.26.2.mojav
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/7cd3ecbe6c03b9425674b
######################################################################## 100.0%
==> Pouring docker-compose-1.26.2.mojave.bottle.1.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/docker-compose
Target /usr/local/bin/docker-compose
already exists. You may want to remove it:
  rm '/usr/local/bin/docker-compose'

To force the link and overwrite all conflicting files:
  brew link --overwrite docker-compose

To list all files that would be deleted:
  brew link --overwrite --dry-run docker-compose

Possible conflicting files are:
/usr/local/bin/docker-compose -> /Applications/Docker.app/Contents/Resources/bin/docker-compose/docker-compose
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/docker-compose/1.26.2: 1,295 files, 14MB
Removing: /usr/local/Cellar/docker-compose/1.25.4_1... (1,250 files, 13.6MB)
==> Upgrading fish 3.1.0_1 -> 3.1.2
==> Downloading https://homebrew.bintray.com/bottles/fish-3.1.2.mojave.bottle.ta
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/6797636eaba364d0cbbc0
######################################################################## 100.0%
==> Pouring fish-3.1.2.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/fish/3.1.2: 1,248 files, 12.3MB
Removing: /usr/local/Cellar/fish/3.1.0_1... (1,250 files, 11.6MB)
==> Upgrading elasticsearch 6.8.7 -> 7.8.0
==> Downloading https://homebrew.bintray.com/bottles/openjdk-14.0.1.mojave.bottl
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/4549644dc93f35362c65f
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/elasticsearch-7.8.0.mojave.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/e5e879df1a857eb538405
######################################################################## 100.0%
==> Installing dependencies for elasticsearch: openjdk
==> Installing elasticsearch dependency: openjdk
==> Pouring openjdk-14.0.1.mojave.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into /usr/local,
because it shadows the macOS `java` wrapper.

If you need to have openjdk first in your PATH run:
  echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find openjdk you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk/include"

==> Summary
🍺  /usr/local/Cellar/openjdk/14.0.1: 634 files, 319MB
==> Installing elasticsearch
==> Pouring elasticsearch-7.8.0.mojave.bottle.tar.gz
==> Caveats
Data:    /usr/local/var/lib/elasticsearch/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_admin.log
Plugins: /usr/local/var/elasticsearch/plugins/
Config:  /usr/local/etc/elasticsearch/

To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
==> Summary
🍺  /usr/local/Cellar/elasticsearch/7.8.0: 154 files, 112.6MB
Removing: /usr/local/Cellar/elasticsearch/6.8.7... (133 files, 103.4MB)
==> Upgrading protobuf 3.12.3 -> 3.12.3_1
==> Downloading https://homebrew.bintray.com/bottles/protobuf-3.12.3_1.mojave.bo
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/bfee101eeff52eb1c8a12
######################################################################## 100.0%
==> Pouring protobuf-3.12.3_1.mojave.bottle.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/protobuf
==> Summary
🍺  /usr/local/Cellar/protobuf/3.12.3_1: 268 files, 19.9MB
Removing: /usr/local/Cellar/protobuf/3.12.3... (267 files, 19.8MB)
==> Upgrading git 2.26.0 -> 2.27.0
==> Downloading https://homebrew.bintray.com/bottles/git-2.27.0.mojave.bottle.1.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a752212149e96e67fd8c4
######################################################################## 100.0%
==> Pouring git-2.27.0.mojave.bottle.1.tar.gz
==> Caveats
The Tcl/Tk GUIs (e.g. gitk, git-gui) are now in the `git-gui` formula.

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions

Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/git
==> Summary
🍺  /usr/local/Cellar/git/2.27.0: 1,478 files, 48.1MB
Removing: /usr/local/Cellar/git/2.26.0... (1,450 files, 44.3MB)
==> Upgrading pkg-config 0.29.2_2 -> 0.29.2_3
==> Downloading https://homebrew.bintray.com/bottles/pkg-config-0.29.2_3.mojave.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/0d14b797dba0e0ab595c9
######################################################################## 100.0%
==> Pouring pkg-config-0.29.2_3.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/pkg-config/0.29.2_3: 11 files, 623.6KB
Removing: /usr/local/Cellar/pkg-config/0.29.2_2... (11 files, 623.5KB)
==> Upgrading vault 1.3.4 -> 1.4.3
==> Downloading https://homebrew.bintray.com/bottles/vault-1.4.3.mojave.bottle.t
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/9356e04df17bcb53842b2
######################################################################## 100.0%
==> Pouring vault-1.4.3.mojave.bottle.tar.gz
==> Caveats
To have launchd start vault now and restart at login:
  brew services start vault
Or, if you don't want/need a background service you can just run:
  vault server -dev
==> Summary
🍺  /usr/local/Cellar/vault/1.4.3: 7 files, 116MB
Removing: /usr/local/Cellar/vault/1.3.4... (7 files, 124.3MB)
==> Upgrading mongodb/brew/mongodb-community 4.2.5 -> 4.2.8
==> Downloading https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz
######################################################################## 100.0%
==> Caveats
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺  /usr/local/Cellar/mongodb-community/4.2.8: 21 files, 306.3MB, built in 8 seconds
Removing: /usr/local/Cellar/mongodb-community/4.2.5... (21 files, 305.9MB)
==> Upgrading pandoc 2.9.2.1 -> 2.10
==> Downloading https://homebrew.bintray.com/bottles/pandoc-2.10.mojave.bottle.1
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/10dedb8ffcffce1410ab1
######################################################################## 100.0%
==> Pouring pandoc-2.10.mojave.bottle.1.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/pandoc/2.10: 10 files, 129.6MB
Removing: /usr/local/Cellar/pandoc/2.9.2.1... (183 files, 102.8MB)
==> Upgrading docker 19.03.8 -> 19.03.12
==> Downloading https://homebrew.bintray.com/bottles/docker-19.03.12.mojave.bott
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/be8241ad433dd7c8a5c9b
######################################################################## 100.0%
==> Pouring docker-19.03.12.mojave.bottle.1.tar.gz
==> docker cask is installed, skipping link.
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions

fish completions have been installed to:
  /usr/local/share/fish/vendor_completions.d
==> Summary
🍺  /usr/local/Cellar/docker/19.03.12: 14 files, 74.8MB
Removing: /usr/local/Cellar/docker/19.03.8... (14 files, 74.7MB)
==> Upgrading kibana 6.8.7 -> 7.8.0
==> Downloading https://homebrew.bintray.com/bottles/kibana-7.8.0.mojave.bottle.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/3821aba32c5518ad59191
########################################################                  79.1%
#########################################################                 79.3%
#########################################################                 79.5%
#########################################################                 79.5%
#########################################################                 79.8%
#########################################################                 79.8%
#########################################################                 79.9%
#########################################################                 80.0%
#########################################################                 80.1%
#########################################################                 80.3%
#########################################################                 80.4%
#########################################################                 80.5%
##########################################################                80.6%
##########################################################                80.7%
##########################################################                80.8%
##########################################################                80.9%
######################################################################## 100.0%
==> Pouring kibana-7.8.0.mojave.bottle.tar.gz

==> Caveats
Config: /usr/local/etc/kibana/
If you wish to preserve your plugins upon upgrade, make a copy of
/usr/local/opt/kibana/plugins before upgrading, and copy it into the
new keg location after upgrading.

To have launchd start kibana now and restart at login:
  brew services start kibana
Or, if you don't want/need a background service you can just run:
  kibana
==> Summary
🍺  /usr/local/Cellar/kibana/7.8.0: 60,973 files, 439.4MB
Removing: /usr/local/Cellar/kibana/6.8.7... (48,338 files, 216.0MB)
==> Upgrading cmake 3.17.0_1 -> 3.17.3
==> Downloading https://homebrew.bintray.com/bottles/cmake-3.17.3.mojave.bottle.
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/a4e96287fc974242d6399
######################################################################## 100.0%
==> Pouring cmake-3.17.3.mojave.bottle.1.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/cmake
==> Summary
🍺  /usr/local/Cellar/cmake/3.17.3: 6,162 files, 58.6MB
Removing: /usr/local/Cellar/cmake/3.17.0_1... (6,156 files, 58MB)
==> Caveats
==> curl
curl is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have curl first in your PATH run:
  echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find curl you may need to set:
  export LDFLAGS="-L/usr/local/opt/curl/lib"
  export CPPFLAGS="-I/usr/local/opt/curl/include"

For pkg-config to find curl you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/curl/lib/pkgconfig"

zsh completions have been installed to:
  /usr/local/opt/curl/share/zsh/site-functions

fish completions have been installed to:
  /usr/local/opt/curl/share/fish/vendor_completions.d
==> icu4c
icu4c is keg-only, which means it was not symlinked into /usr/local,
because macOS provides libicucore.dylib (but nothing else).

If you need to have icu4c first in your PATH run:
  echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> /Users/admin/.bash_profile
  echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find icu4c you may need to set:
  export LDFLAGS="-L/usr/local/opt/icu4c/lib"
  export CPPFLAGS="-I/usr/local/opt/icu4c/include"

For pkg-config to find icu4c you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"

==> node@10
node@10 is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.

If you need to have node@10 first in your PATH run:
  echo 'export PATH="/usr/local/opt/node@10/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find node@10 you may need to set:
  export LDFLAGS="-L/usr/local/opt/node@10/lib"
  export CPPFLAGS="-I/usr/local/opt/node@10/include"

==> sqlite
sqlite is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have sqlite first in your PATH run:
  echo 'export PATH="/usr/local/opt/sqlite/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find sqlite you may need to set:
  export LDFLAGS="-L/usr/local/opt/sqlite/lib"
  export CPPFLAGS="-I/usr/local/opt/sqlite/include"

For pkg-config to find sqlite you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/sqlite/lib/pkgconfig"

==> libffi
libffi is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

For compilers to find libffi you may need to set:
  export LDFLAGS="-L/usr/local/opt/libffi/lib"
  export CPPFLAGS="-I/usr/local/opt/libffi/include"

For pkg-config to find libffi you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/libffi/lib/pkgconfig"

==> file-formula
file-formula is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

If you need to have file-formula first in your PATH run:
  echo 'export PATH="/usr/local/opt/file-formula/bin:$PATH"' >> /Users/admin/.bash_profile

==> python@3.8
Python has been installed as
  /usr/local/bin/python3

Unversioned symlinks `python`, `python-config`, `pip` etc. pointing to
`python3`, `python3-config`, `pip3` etc., respectively, have been installed into
  /usr/local/opt/python@3.8/libexec/bin

You can install Python packages with
  pip3 install 
They will install into the site-package directory
  /usr/local/lib/python3.8/site-packages

See: https://docs.brew.sh/Homebrew-and-Python
==> gettext
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/gettext
==> glib
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> awscli
The "examples" directory has been installed to:
  /usr/local/share/awscli/examples

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions
==> node
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> docker-compose
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> openjdk
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into /usr/local,
because it shadows the macOS `java` wrapper.

If you need to have openjdk first in your PATH run:
  echo 'export PATH="/usr/local/opt/openjdk/bin:$PATH"' >> /Users/admin/.bash_profile

For compilers to find openjdk you may need to set:
  export CPPFLAGS="-I/usr/local/opt/openjdk/include"

==> elasticsearch
Data:    /usr/local/var/lib/elasticsearch/
Logs:    /usr/local/var/log/elasticsearch/elasticsearch_admin.log
Plugins: /usr/local/var/elasticsearch/plugins/
Config:  /usr/local/etc/elasticsearch/

To have launchd start elasticsearch now and restart at login:
  brew services start elasticsearch
Or, if you don't want/need a background service you can just run:
  elasticsearch
==> protobuf
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/protobuf
==> git
The Tcl/Tk GUIs (e.g. gitk, git-gui) are now in the `git-gui` formula.

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions and functions have been installed to:
  /usr/local/share/zsh/site-functions

Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/git
==> vault
To have launchd start vault now and restart at login:
  brew services start vault
Or, if you don't want/need a background service you can just run:
  vault server -dev
==> mongodb-community
To have launchd start mongodb/brew/mongodb-community now and restart at login:
  brew services start mongodb/brew/mongodb-community
Or, if you don't want/need a background service you can just run:
  mongod --config /usr/local/etc/mongod.conf
==> pandoc
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> docker
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completions have been installed to:
  /usr/local/share/zsh/site-functions

fish completions have been installed to:
  /usr/local/share/fish/vendor_completions.d
==> kibana
Config: /usr/local/etc/kibana/
If you wish to preserve your plugins upon upgrade, make a copy of
/usr/local/opt/kibana/plugins before upgrading, and copy it into the
new keg location after upgrading.

To have launchd start kibana now and restart at login:
  brew services start kibana
Or, if you don't want/need a background service you can just run:
  kibana
==> cmake
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/cmake

  

What you expected to happen

Step-by-step reproduction instructions (by running brew commands)

starting with python3.7.7 and pip set up

The packages that were installed (under /usr/local/lib/python3...) are no longer found in the new python3.8 directory

Python versions should really just install updates under one directory , but until they do, IMO package management should handle the transition of site packages.

This issue has come up in the past #1727

Output of brew config and brew doctor commands

$ brew config
HOMEBREW_VERSION: 2.4.8
ORIGIN: https://github.com/Homebrew/brew
HEAD: 13f0d4ad2b0773c01c5fdd5f8cba3e4f312c1c96
Last commit: 4 days ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 94ec4ae786d5d9f83ce4c077f975fce8308179c6
Core tap last commit: 2 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_MAKE_JOBS: 12
CPU: dodeca-core 64-bit kabylake
Homebrew Ruby: 2.6.3 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/bin/ruby
Clang: 10.0 build 1001
Git: 2.27.0 => /usr/local/bin/git
Curl: 7.54.0 => /usr/bin/curl
Java: 1.8.0_232
macOS: 10.14.6-x86_64
CLT: 10.3.0.0.1.1562985497
Xcode: N/A

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/python3.7m/greenlet/greenlet.h
  /usr/local/include/python3.7m/pybind11/attr.h
  /usr/local/include/python3.7m/pybind11/buffer_info.h
  /usr/local/include/python3.7m/pybind11/cast.h
  /usr/local/include/python3.7m/pybind11/chrono.h
  /usr/local/include/python3.7m/pybind11/common.h
  /usr/local/include/python3.7m/pybind11/complex.h
  /usr/local/include/python3.7m/pybind11/detail/class.h
  /usr/local/include/python3.7m/pybind11/detail/common.h
  /usr/local/include/python3.7m/pybind11/detail/descr.h
  /usr/local/include/python3.7m/pybind11/detail/init.h
  /usr/local/include/python3.7m/pybind11/detail/internals.h
  /usr/local/include/python3.7m/pybind11/detail/typeid.h
  /usr/local/include/python3.7m/pybind11/eigen.h
  /usr/local/include/python3.7m/pybind11/embed.h
  /usr/local/include/python3.7m/pybind11/eval.h
  /usr/local/include/python3.7m/pybind11/functional.h
  /usr/local/include/python3.7m/pybind11/iostream.h
  /usr/local/include/python3.7m/pybind11/numpy.h
  /usr/local/include/python3.7m/pybind11/operators.h
  /usr/local/include/python3.7m/pybind11/options.h
  /usr/local/include/python3.7m/pybind11/pybind11.h
  /usr/local/include/python3.7m/pybind11/pytypes.h
  /usr/local/include/python3.7m/pybind11/stl.h
  /usr/local/include/python3.7m/pybind11/stl_bind.h

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  docker
  docker-compose
  python@3.8
Bo98 commented 4 years ago

We don't install /usr/local/bin/pip and haven't for some time now:

$ ls -l /usr/local/bin/pip
gls: cannot access '/usr/local/bin/pip': No such file or directory

We only offer pip3.

Anything we install in /usr/local/bin/ is a symlink anyway like /usr/local/bin/pip3 -> ../Cellar/python@3.8/3.8.4/bin/pip3. If this is not the case, then it is likely not Homebrew which put it there.

Python versions should really just install updates under one directory , but until they do, IMO package management should handle the transition of site packages.

Python does not provide ABI compatibility so this is not universally possible and some packages really do require to be reinstalled.

Dependencies of a package can also vary between Python versions.

wesinator commented 4 years ago

Ok thanks, that makes sense.

I guess I need to be more careful before running brew upgrade :D

The right way to create pip bin persistently is to do ln -s /usr/local/bin/pip3 /usr/local/bin/pip

Bo98 commented 4 years ago

Adding /usr/local/opt/python/libexec/bin to your PATH is also an option, which provides unversioned pip, python, etc.