web-dev-qa-db-ja.com

pypyでvirtualenvを作成する方法?

次のコマンドを実行する

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

CPython 2.7.3でMac OS X 10.8.1(Mountain Lion)を実行していて、Brewを使用してpypy 1.9をインストールしました。 virtualenvのバージョンは1.8.4です

Pypyのウェブサイトから直接ダウンロードされたMac OS X用のビルド済みのpypyバイナリを使用しても違いはありません

28
minorblend

これは1.8.4のリグレッションのようです。私のシステムでこれを試してみたところ、virtualenv 1.8.2ですべてが正常に機能しました。その後、アップグレードすると、同じエラーが発生します。

22

Virtualenv 1.8.2を使用しているWindowsでも同じエラーが発生しました。 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
1
DaveSawyer

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.pylib-python\2.7が見つかりましたが、virtualenvのlib-python\2.7にはuserdict.pyしかなく、大文字のUserファイル。他のソリューションの例に従って、virtualenvのuserdict.pyを削除して元のUser*ファイルをコピーし、virtualenvコマンドを再実行すると、エラーなしで実行されました。

0
rakslice

windowsの場合、これは私にとってうまくいきました:


python -m virtualenv -p <Your PYPY installed path\pypy3.exe> <venv_name>

0
Viraj.Hadoop