34

次のコマンドを実行する

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 の Web サイトから直接ダウンロードした Mac OS X 用のビルド済み pypy バイナリを使用しても、違いはありません。

4

5 に答える 5

22

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

于 2012-11-27T06:54:59.390 に答える
1

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
于 2014-04-16T18:41:15.230 に答える
-1

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しかありませんでした。他のソリューションの例に従って、virtualenv を削除して元のファイルをコピーし、コマンドを再実行したところ、エラーなく実行されました。userdict.pyUseruserdict.pyUser*virtualenv

于 2016-01-31T04:47:25.067 に答える