как создать virtualenv с помощью pypy?
выполнение следующей команды
virtualenv -p /usr/local/bin/pypy pypy
завершается с ошибкой, как
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
Я запускаю Mac OS X 10.8.1 (Mountain Lion) с CPython 2.7.3 и установил pypy 1.9 с помощью Brew. версия virtualenv-1.8.4
использование встроенного PyPy binary для Mac OS X, загруженного непосредственно с веб-сайта pypy, не имеет никакого значения
3 ответов
Это, по-видимому, регрессия в 1.8.4. При попытке этого в моей системе все работало нормально с virtualenv 1.8.2, затем я обновился, и теперь я получаю ту же ошибку, что и вы.
Я получил ту же ошибку в Windows, используя virtualenv 1.8.2. Также похожие проблемы с 1.9 и 1.10. Что сработало для меня, так это запустить его один раз, чтобы сделать каталог, скопировать отсутствующие файлы, а затем запустить снова, чтобы завершить его.
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
С pypy-4.0.1 и virtualenv 14.0.3, из коробки я получаю сообщение об ошибке:
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.
Поиск оригинальной установки pypy для UserDict*
, Я нашел UserDict.py
на lib-python.7
но в virtualenv это lib-python.7
было только userdict.py
и ни один из заглавных User
файлы. Следуя примеру других решений, я удалил virtualenv userdict.py
и скопировал оригинал User*
файлы и перезапустил virtualenv
команда, и она работала без ошибок.