Aujourd'hui, je voulais exécuter un script Python (auto-écrit) sur mon ordinateur portable OSX, mais tout à coup, toutes les importations ont retourné un ImportError
. Le script fonctionnait bien il y a environ un mois et en attendant, je n'ai rien changé à Python. De plus, je suis sûr que je n'ai pas utilisé de virtualenv à l'époque.Pourquoi tous les paquets Python ont-ils soudainement disparu?
Je viens de commencer à réinstaller tous les paquets (même pip
avait besoin d'être réinstallé). Je dois aussi OpenCV, pour que je dirige brew install opencv3
, mais cela me donne:
Warning: homebrew/science/opencv3 3.2.0 is already installed
même si je ne peux toujours pas importer en Python:
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
je peux de désinstaller des cours et réinstaller OpenCV mais ça me fait vraiment réfléchir. Comment cela est-il arrivé? Qu'est-ce qui pourrait effacer tous les paquets Python?
Tous les conseils sont les bienvenus!
EDIT
Ok, je viens de découvrir que avant que j'utilisais Python installé par brew, mais que la commande python
lié en quelque sorte revenir à /usr/bin/python
au lieu de /usr/local/Cellar/python/2.7.13_1/bin/python2
dans lequel tous les paquets sont encore installés correctement. Donc, pour relier python
revenir à la version de bière que je courais brew unlink python && brew link python
, mais which python
se réfère encore /usr/bin/python
Quelle âme brillante peut me guider vers d'utiliser le Python brasser?
EDIT2
Je viens de vérifier this list of suggestions pour relier python
à la version de brasser à nouveau, mais rien ne semble fonctionner. Laissez-moi vous montrer ce que je faisais:
$ echo $PATH
/usr/local/opt/opencv3/bin:/opt/local/bin:/opt/local/sbin:/usr/local/heroku/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/bin:/Users/hielke/Library/Android/sdk:/Users/hielke/Library/Android/sdk/tools:/Users/hielke/Library/Android/sdk/platform-tools:/usr/local/mysql/bin:/Users/hielke/.composer/vendor/bin
# which shows `/usr/local/bin` before `/usr/bin`
$ brew link --overwrite python
Warning: Already linked: /usr/local/Cellar/python/2.7.13_1
To relink: brew unlink python && brew link python
$ which python
/usr/bin/python # <= STILL RUNNING THE SYSTEM PYTHON
$ brew unlink python && brew link python
Unlinking /usr/local/Cellar/python/2.7.13_1... 26 symlinks removed
Linking /usr/local/Cellar/python/2.7.13_1... 26 symlinks created
$ which python
/usr/bin/python # <= STILL RUNNING THE SYSTEM PYTHON
$ cat /etc/paths
/usr/local/bin
/usr/bin # THIS SEEMS TO BE CORRECT
/bin
/usr/sbin
/sbin
Je puis remis en marche le terminal, mais which python
me donne encore /usr/bin/python
.
Alors j'ai redémarré l'ensemble du système d'exploitation, mais frustrant which python
me donne encore /usr/bin/python
.
Qui peut me sortir de ce bazar?!
Imprime le 'sys.path' et trouve si le paquet opencv est dans le chemin – aristotll
Mon vote va à" quelque chose gâché avec un fichier pth ". –
@aristotll - Il s'avère que j'utilisais le mauvais Python. J'utilisais soudainement le système python installé à la place de la version installée de Python (qui est celle dans laquelle tous les paquets sont installés). J'ai édité ma question. Auriez-vous une idée de comment relier 'python' à la version de brassage? – kramer65