2012-11-27 10 views
26

uruchamiając następującą komendęjak stworzyć virtualenv z pypy?

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

wyjść z błędu jak

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 

Używam Mac OS X 10.8.1 (Mountain Lion) z CPython 2.7.3 i zainstalowane pypy 1,9 użyciu Brew. Wersja virtualenv jest 1.8.4

Korzystanie z pre-built pypy binarny dla systemu Mac OS X pobrać bezpośrednio ze strony internetowej pypy za nie żadnej różnicy

+0

Otrzymuję ten sam błąd na OS X i mam te same wersje pypy i virtualenv jak ty (również zainstalowany pypy z homebrew) – hasen

Odpowiedz

22

To wydaje się być regresji 1.8.4. Podczas wypróbowania tego w moim systemie wszystko działało dobrze z virtualenv 1.8.2, a następnie zaktualizowałem i teraz dostaję ten sam błąd co ty.

+3

Złożyłem raport o błędzie na https://github.com/pypa/virtualenv/ issues/366 –

+2

Zmieniłem wersję na 1.8.2 i zadziałało! Dzięki! Ponieważ jest to odpowiedź Myślę, że należy wspomnieć * jak * downgrade do 1.8.2 '' 'sudo pip zainstalować virtualenv == 1.8.2''' – hasen

1

mam ten sam błąd w systemie Windows za pomocą virtualenv 1.8.2. Również podobne problemy z 1.9 i 1.10. Pracowałem dla mnie, aby uruchomić go raz, aby utworzyć katalog, skopiować brakujące pliki, a następnie ponownie uruchomić, aby zakończyć.

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

I potwierdziły to działa na Windows7 dla pypy 2.2.0. Jedyna różnica polega na tym, że activate znajduje się w podkatalogu bin, a nie w podkatalogu –

0

Z pypy-4.0.1 i virtualenv 14.0.3, po wyjęciu z pudełka pojawia się błąd:

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. 

wyszukiwania oryginalny pypy zainstalować na UserDict* znalazłem UserDict.py w lib-python\2.7 ale w the virtualenv's lib-python\2.7 był tylko userdict.py i żaden z pisanych wielką literą User plików. Idąc za przykładem innych rozwiązań, usunąłem virtualenv na userdict.py i skopiowane oryginalne User* pliki, a reran komendy virtualenv, a on biegł bez błędu.