2015-04-23 1 views
1

J'ai eu beaucoup de mal à faire fonctionner virtualenv.De nombreux problèmes avec virtualenv de python

D'abord, je l'ai installé via pip, puis j'ai essayé de configurer un virtualenv. Cela n'a pas fonctionné et je reçu ce message d'erreur:

ResNets-iMac:desktop zachary$ virtualenv anothertest 
Using base prefix '/Applications/Canopy.app/appdata/canopy-1.5.1.2730.macosx-x86_64/Canopy.app/Contents' 
New python executable in anothertest/bin/python 
dyld: Library not loaded: @rpath/Python 
    Referenced from: /Users/zachary/Desktop/anothertest/bin/python 
    Reason: image not found 
ERROR: The executable anothertest/bin/python is not functioning 
ERROR: It thinks sys.prefix is u'/Users/zachary/Desktop' (should be u'/Users/zachary/Desktop/anothertest') 
ERROR: virtualenv is not compatible with this system or executable 

Alors je suis passé par à peu près tous les dépannage que je pouvais et a décidé que Canopy était le problème. Donc, je supprimé que, virualenv réinstallées (via « pip désinstaller virtualenv » puis « pip installer virtualenv ») et maintenant je reçois cette erreur chaque fois que je tente de faire quoi que ce soit impliquant virtualenv:

dyld: Library not loaded: @rpath/Python 
    Referenced from: /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python 
    Reason: image not found 

Je ne suis pas sûr de ce que faire et quand je vérifie ce que ma version par défaut de python est, je reçois:

/Library/Frameworks/Python.framework/Versions/2.7/bin/python 

Je très nouveau à tout cela et je n'ai pas vraiment idée de ce que je fais ou comment résoudre ce problème donc toute aide serait grandement appréciée.

Merci!

Répondre

5

Le problème est que vous avez plusieurs versions de Python sur votre système.

Vous avez le Python livré avec OSX (/Library/Frameworks/Python.framework/Versions/2.7/bin/python), alors vous avez le Python fourni avec Canopy; qui est /Users/zachary/Library/Enthought/Canopy_64bit/User/bin/python.

Votre chemin pointe vers la version par défaut de Canopy, mais pip est installé par rapport à la version système par défaut de Python. Donc quand vous avez installé virtualenv, il a été installé par rapport à la version par défaut de Python; mais quand vous essayez de créer un environnement virtuel - en raison de la façon dont votre chemin est configuré, il essaie d'utiliser la version Canopy de Python - et c'est la source de votre erreur.

Pour résoudre ce problème, vous pouvez effectuer les opérations suivantes:

  1. Retirez Canopy, et utiliser la version OSX de Python.
  2. Installez virtualenv sur la version Canopy de Python.
  3. Modifiez votre PATH pour que la version système de Python prenne la priorité.
  4. Installer une autre version de Python (par exemple, homebrew) et en faire la valeur par défaut.

La résolution que vous avez choisie dépend de ce que le système doit faire. Si vous avez besoin des bibliothèques regroupées avec Canopy, vous devez choisir l'option # 2, sinon choisissez l'une des autres options. # 4 est le plus perturbateur (car il impliquera l'installation de beaucoup d'autres choses).

+0

Merci pour la réponse! Je n'ai pas vraiment besoin de Canopy pour l'instant (je l'utilisais pour un cours) alors je suis parti avec la première option. Cependant, maintenant j'obtiens la deuxième erreur que j'ai énumérée ci-dessus. Donc je pense que je vais essayer de faire la troisième option. Je vais essayer de le faire moi-même mais quelle est la meilleure façon de le faire? Merci encore! – Zach

+1

Eh bien, je pense que j'ai fait essentiellement ce que vous avez dit mais je ne suis pas sûr à 100% ...Je l'ai compris, tout ce que vous aviez à faire était de commenter (ou supprimer) n'importe quelle instance de Canopy dans ces fichiers: '/Users//base_profil, /Utilisateurs/notre-nomutilisateur/.profil, /Utilisateurs/ /. Bashrc' – Zach

0

Le site web Enthought Canopy recommande this: pour utiliser venv, et non virtualenv.