web-dev-qa-db-fra.com

Comment lier une bière maison python et la définir par défaut)

Je viens de passer de MacPorts à HomeBrew. Après avoir installé toutes les versions requises de XCode et d’autres logiciels, j’ai essayé d’installer python en utilisant homebrew: je pense que l’installation a été effectuée avec succès, mais lorsque j’ai fait which python _ il me montre toujours la version 2.7.3 qui, à mon avis, est la version fournie avec Mountain Lion.

which python
/usr/local/bin/python

python --version
Python 2.7.3

alors j'ai essayé d'installer à nouveau

brew install python --framework --universal
Warning: python-2.7.5 already installed, it's just not linked

Mais il est écrit python 2.7.5 déjà installé et non lié, j’ai essayé de faire brew link python

Cela m’a amené au message suivant alors, je n’ai aucune idée de ce que je devrais faire:

Liaison /usr/local/Cellar/python/2.7.5 ... Avertissement: Impossible de lier python. Dissocier ...

Error: Could not symlink file: /usr/local/Cellar/python/2.7.5/bin/smtpd2.py
Target /usr/local/bin/smtpd2.py already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name
37
add-semi-colons

Après avoir installé python3 avec brew install python3 Je recevais l'erreur:

Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

Après avoir tapé brew link python3 l'erreur était:

Linking /usr/local/Cellar/python/3.6.4_3... Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks

Résoudre le problème:

Sudo mkdir -p /usr/local/Frameworks
Sudo chown -R $(whoami) /usr/local/*
brew link python3

Après cela, je pourrais ouvrir python3 en tapant python3 ????

(De https://github.com/Homebrew/homebrew-core/issues/20985 )

37
lenooh

Si vous avez utilisé

brew install python

avant de 'dissocier' tu as

brew info python
/usr/local/Cellar/python/2.7.11

python -V
Python 2.7.10

alors faites

brew unlink python && brew link python

et ouvrez un nouveau terminal Shell

python -V
Python 2.7.11
7
Rolf Schulze

Dans le terminal, tapez:

brew link python
7
Hercules

Sur OS X High Sierra, je devais faire ceci:

Sudo install -d -o $(whoami) -g admin /usr/local/Frameworks
brew uninstall --ignore-dependencies python
brew install python
python --version # should work, returns 2.7, which is a Python thing (it's weird, but ok)

crédit à https://Gist.github.com/irazasyed/7732946#gistcomment-2235469

Je pense que c'est mieux que d'étouffer récursivement le répertoire/usr/local, mais cela peut résoudre d'autres problèmes;)

5
Chaim Eliyah

Je pense que vous devez préciser avec quelle version vous souhaitez créer un lien avec la commande brew link python comme:

brew link python 3

Cela vous donnera une erreur comme ça:

Linking /usr/local/Cellar/python3/3.5.2... 
Error: Could not symlink bin/2to3-3.5
Target /usr/local/bin/2to3-3.5
already exists. 

Vous voudrez peut-être l'enlever:

rm '/usr/local/bin/2to3-3.5'

Pour forcer le lien et écraser tous les fichiers en conflit:

brew link --overwrite python3

Pour lister tous les fichiers qui seraient supprimés:

brew link --overwrite --dry-run python3

mais vous devez copier/coller la commande pour forcer le lien qui est:

brew link --overwrite python3

Je pense que vous devez avoir la version (la plus récente) installée.

4
slapash

brew bascule vers python3 par défaut, donc si vous voulez toujours définir python2 en tant que bin python, exécutez:

brew unlink python && brew link python2 --force
2
Eric Guo

Cette réponse concerne la mise à niveau Python 2.7.10 à Python 2.7.11 sur Mac OS X El Capitan. Sur le type de terminal:

brew unlink python

Après ce type sur le terminal

brew install python
1
Vikram Dutt