2011-02-15 3 views
21

Mon serveur a Python2.5 Je veux sauter à la plus récente Python (2.7.x dans mon cas). J'ai compilé python à partir de la source, j'ai téléchargé le plus récent virtualenv (1.5.1).assert erreur lors de l'installation de virtualenv avec différents python

Maintenant essentiellement ce que im essayant de faire:

./packages/virtualenv/virtualenv.py --python=packages/Python-2.7/python env/ 

frappe:

./packages/virtualenv/virtualenv.py 

Fournit:

1.5.1 

lors de la frappe:

packages/Python-2.7/python 

Fournit:

Python 2.7 (r27:82500, Nov 21 2010, 23:19:15) 
[GCC 4.3.2] on linux2 
(cut help mesage) 
>>> 

Cependant runing résultats virutalenv dans:

AssertionError: Nom du fichier /packages/Python-2.7/Lib/os.py ne démarre pas avec ces préfixes: [ '/ usr/local ']

Quoi que cela signifie et quoi que je sois ou je ne me trompe pas.

P.S. Lors de la construction d'env + python I basée à la question: How do I work around this problem creating a virtualenv environment with a custom-build Python?

Répondre

45

Après avoir lu et joué avec this.

J'ai trouvé que cette erreur peut être liée au manque de --prefix lors de l'exécution de ./configure pour python. Donc, j'ai couru ./configure --prefix=/Path/To/Where/I/Want/Python/After/Compilation/ (dans mon cas $HOME/packages/Python-2.7), je l'ai tapé make, puis make install (sans utiliser sudo - donc python été mis en sécurité dans où je dis qu'il soit en tant qu'utilisateur actuel pas racine). Après cette initiation virtualenv ne s'est pas écrasé avec AssertionError et tout a fonctionné comme un charme.

Espérons que cette question a répondu à l'auteur finira par aider quelqu'un. :)

+2

"J'espère que cette question a répondu à l'auteur finira par aider quelqu'un." Cela a certainement été le cas. Je vous remercie. –

+0

J'ai ce problème sur Windows 7, où il n'y a pas de fichier ./configure utilisé. – Sabuncu

+0

Sur Windows, j'ai résolu le problème avec une nouvelle installation - voir: http://stackoverflow.com/questions/8688709/virtualenv-on-windows-7-returns-assertionerror/10078890#10078890 – Sabuncu

16

Je n'ai pas suffisamment de rep pour ajouter ceci comme commentaire et cette question a 3 ans, mais cela pourrait être utile à quelqu'un. Sous Windows, vous devez vous diriger vers python.exe, mais il semble que dans Linux/OS X, vous vous dirigiez simplement vers le dossier. Exemple:

Fenêtres:

virtualenv -p <PATH TO PYTHON.EXE> venv 

crée un environnement virtuel dans un sous-dossier "venv" dans le répertoire courant.

+1

J'ai voté pour vous, car cela peut être utile pour quelqu'un. – Drachenfels

1

Je n'ai pas assez de rep pour ajouter un commentaire. Mike's répondez enregistrer ma journée. J'utilise Windows.

Je recevais l'erreur:

AssertionError: Filename C:\Python35\Lib\os.py does not start with any of these prefixes: ['c:\\python35', 'c:\\python35'] 

je devais courir this-

virtualenv -p C:\Python35\python.exe venv 

ont également besoin pour exécuter ce à partir d'un cmd ouvert en tant qu'administrateur. Sinon obtenir l'erreur

PermissionError: [WinError 5] Access is denied 

Quelqu'un avec les représentants assez pour commenter s'il vous plaît ajouter à Mike's réponse comme commentaire. Je vais alors nettoyer le mien.

Questions connexes