2012-11-27 17 views
26

eseguendo il comando seguentecome creare virtualenv con pypy?

virtualenv -p /usr/local/bin/pypy pypy 

uscite con errore come

Running virtualenv with interpreter /usr/local/bin/pypy 
New pypy executable in pypy/bin/pypy 
debug: WARNING: Library path not found, using compiled-in sys.path. 
debug: WARNING: 'sys.prefix' will not be set. 
debug: WARNING: Make sure the pypy binary is kept inside its tree of files. 
debug: WARNING: It is ok to create a symlink to it from somewhere else. 
'import site' failed 
AttributeError: 'module' object has no attribute 'prefix' 
ERROR: The executable pypy/bin/pypy is not functioning 
ERROR: It thinks sys.prefix is u'/Users/myname' (should be u'/Users/myname/pypy') 
ERROR: virtualenv is not compatible with this system or executable 

sto con Mac OS X 10.8.1 (Mountain Lion) con CPython 2.7.3 e installato PyPy 1.9 utilizzando Brew. La versione di virtualenv è 1.8.4

Utilizzando binario PyPy pre-costruito per Mac OS X scaricato direttamente dal sito web di PyPy non fa alcuna differenza

+0

Sto ricevendo lo stesso errore su OS X e ho le stesse versioni di pypy e virtualenv come te (anche installato pypy da homebrew) – hasen

risposta

22

Questo sembra essere una regressione in 1.8.4. Durante la prova sul mio sistema, tutto ha funzionato bene con virtualenv 1.8.2, quindi ho aggiornato e ora ho lo stesso errore che hai.

+3

Ho inviato una segnalazione di bug all'indirizzo https://github.com/pypa/virtualenv/ problemi/366 –

+2

Ho eseguito il downgrade a 1.8.2 e ha funzionato! Grazie! Poiché questa è una risposta, dovresti menzionare * come * eseguire il downgrade a 1.8.2 '' 'sudo pip install virtualenv == 1.8.2''' – hasen

1

Ho ricevuto lo stesso errore su Windows utilizzando virtualenv 1.8.2. Anche problemi simili con 1.9 e 1.10. Quello che ha funzionato per me è stato quello di eseguirlo una volta per creare la directory, copiare i file mancanti, quindi eseguire di nuovo per completarlo.

virtualenv -p c:\bin\pypy\pypy.exe pypy 
copy c:\bin\pypy\lib_pypy \virtualenvs\pypy 
copy c:\bin\pypy\lib-python \virtualenvs\pypy 
virtualenv -p c:\bin\pypy\pypy.exe pypy 
+0

Ho confermato che funziona su Windows 7 per PyPy 2.2.0. L'unica differenza è activate si trova nella sottodirectory bin anziché nella sottodirectory Scripts

0

Con PyPy-4.0.1 e 14.0.3 virtualenv, fuori dalla scatola ottengo un errore:

Q:\>c:\pypy\bin\virtualenv -p c:\pypy\pypy.exe my_pypy_virtualenv 
Already using interpreter c:\pypy\pypy.exe 
New pypy executable in Q:\my_pypy_virtualenv\bin\pypy.exe 
debug: OperationError: 
debug: operror-type: ImportError 
debug: operror-value: No module named UserDict 
ERROR: The executable Q:\my_pypy_virtualenv\bin\pypy.exe is not functioning 
ERROR: It thinks sys.prefix is u'q:\\' (should be u'q:\\my_pypy_virtualenv') 
ERROR: virtualenv is not compatible with this system or executable 
Note: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versions of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem. 

Ricerca della PyPy originale di installazione per UserDict*, ho trovato UserDict.py in lib-python\2.7 ma in il numero lib-python\2.7 del virtualenv era solo userdict.py e nessuno dei file capitalizzati User. Seguendo l'esempio delle altre soluzioni, ho rimosso il numero userdict.py di virtualenv e ho copiato i file originali User* e ho riattivato il comando virtualenv e si è verificato senza errori.