Package: pypy Version: 2.6.1+dfsg-2 Severity: normal Dear Maintainer,
Why pypy is specified as the interpreter for a virtualenv, the layout is significantly different than the layout for cpython virtualenvs. I noticed this because with cpython, it is possible to install more than one executable to the same virtualenv directory, and the files do not interfere, but with pypy they do. I believe this is Debian-specific, since upstreams uses cpython's site-packages by design (at least, the pypy3 build does, I haven't needed to install upstream pypy2). In particular: * pypy installs `include/` as a symlink instead of a directory containing symlinks (can be fixed with --always-copy, but ugh) * pypy installs site-packages/ at the top level instead of in lib/python2.7/ $ cat > test-script.sh << EOF #!/bin/sh set -e mkdir -p venv-tests cd venv-tests for python in python2.7 pypy do rm -rf venv-$python virtualenv -p $python venv-$python echo == Files for $python == find venv-$python | grep -v dist-info/ | sed 's:[^/]*\.py[coi]\?$:*.py:' | sort -u echo done EOF $ sh test-script.sh New python executable in venv-python2.7/bin/python2.7 Also creating executable in venv-python2.7/bin/python Installing setuptools, pip...done. Running virtualenv with interpreter /usr/bin/python2.7 == Files for python2.7 == venv-python2.7 venv-python2.7/bin venv-python2.7/bin/activate venv-python2.7/bin/activate.csh venv-python2.7/bin/activate.fish venv-python2.7/bin/easy_install venv-python2.7/bin/easy_install-2.7 venv-python2.7/bin/pip venv-python2.7/bin/pip2 venv-python2.7/bin/pip2.7 venv-python2.7/bin/*.py venv-python2.7/bin/python venv-python2.7/bin/python2 venv-python2.7/bin/python2.7 venv-python2.7/include venv-python2.7/include/python2.7 venv-python2.7/lib venv-python2.7/lib/python2.7 venv-python2.7/lib/python2.7/distutils venv-python2.7/lib/python2.7/distutils/distutils.cfg venv-python2.7/lib/python2.7/distutils/*.py venv-python2.7/lib/python2.7/encodings venv-python2.7/lib/python2.7/lib-dynload venv-python2.7/lib/python2.7/no-global-site-packages.txt venv-python2.7/lib/python2.7/orig-prefix.txt venv-python2.7/lib/python2.7/*.py venv-python2.7/lib/python2.7/site-packages venv-python2.7/lib/python2.7/site-packages/_markerlib venv-python2.7/lib/python2.7/site-packages/_markerlib/*.py venv-python2.7/lib/python2.7/site-packages/pip venv-python2.7/lib/python2.7/site-packages/pip-1.5.6.dist-info venv-python2.7/lib/python2.7/site-packages/pip/backwardcompat venv-python2.7/lib/python2.7/site-packages/pip/backwardcompat/*.py venv-python2.7/lib/python2.7/site-packages/pip/commands venv-python2.7/lib/python2.7/site-packages/pip/commands/*.py venv-python2.7/lib/python2.7/site-packages/pip/*.py venv-python2.7/lib/python2.7/site-packages/pip/vcs venv-python2.7/lib/python2.7/site-packages/pip/vcs/*.py venv-python2.7/lib/python2.7/site-packages/pkg_resources venv-python2.7/lib/python2.7/site-packages/pkg_resources/*.py venv-python2.7/lib/python2.7/site-packages/pkg_resources/_vendor venv-python2.7/lib/python2.7/site-packages/pkg_resources/_vendor/packaging venv-python2.7/lib/python2.7/site-packages/pkg_resources/_vendor/packaging/*.py venv-python2.7/lib/python2.7/site-packages/pkg_resources/_vendor/*.py venv-python2.7/lib/python2.7/site-packages/*.py venv-python2.7/lib/python2.7/site-packages/setuptools venv-python2.7/lib/python2.7/site-packages/setuptools-18.3.1.dist-info venv-python2.7/lib/python2.7/site-packages/setuptools/command venv-python2.7/lib/python2.7/site-packages/setuptools/command/*.py venv-python2.7/lib/python2.7/site-packages/setuptools/*.py venv-python2.7/lib/python2.7/site-packages/setuptools/script (dev).tmpl venv-python2.7/lib/python2.7/site-packages/setuptools/script.tmpl venv-python2.7/lib/python-wheels venv-python2.7/lib/python-wheels/chardet-2.3.0-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/colorama-0.3.3-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/distlib-0.2.1-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/html5lib-0.999-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/pip-1.5.6-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/requests-2.7.0-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/setuptools-18.3.1-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/six-1.10.0-py2.py3-none-any.whl venv-python2.7/lib/python-wheels/urllib3-1.11-py2.py3-none-any.whl venv-python2.7/local venv-python2.7/local/bin venv-python2.7/local/include venv-python2.7/local/lib New pypy executable in venv-pypy/bin/pypy Installing setuptools, pip...done. Running virtualenv with interpreter /usr/bin/pypy == Files for pypy == venv-pypy venv-pypy/bin venv-pypy/bin/activate venv-pypy/bin/activate.csh venv-pypy/bin/activate.fish venv-pypy/bin/easy_install venv-pypy/bin/easy_install-2.7 venv-pypy/bin/pip venv-pypy/bin/pip2 venv-pypy/bin/pip2.7 venv-pypy/bin/*.py venv-pypy/bin/pypy venv-pypy/bin/python venv-pypy/bin/python2 venv-pypy/bin/python2.7 venv-pypy/include venv-pypy/lib venv-pypy/lib_pypy venv-pypy/lib_pypy/*.py venv-pypy/lib-python venv-pypy/lib-python/2.7 venv-pypy/lib-python/2.7/distutils venv-pypy/lib-python/2.7/distutils/distutils.cfg venv-pypy/lib-python/2.7/distutils/*.py venv-pypy/lib-python/2.7/distutils/__pycache__ venv-pypy/lib-python/2.7/distutils/__pycache__/*.py venv-pypy/lib-python/2.7/encodings venv-pypy/lib-python/2.7/no-global-site-packages.txt venv-pypy/lib-python/2.7/orig-prefix.txt venv-pypy/lib-python/2.7/*.py venv-pypy/lib-python/2.7/__pycache__ venv-pypy/lib-python/2.7/__pycache__/*.py venv-pypy/lib/python-wheels venv-pypy/lib/python-wheels/chardet-2.3.0-py2.py3-none-any.whl venv-pypy/lib/python-wheels/colorama-0.3.3-py2.py3-none-any.whl venv-pypy/lib/python-wheels/distlib-0.2.1-py2.py3-none-any.whl venv-pypy/lib/python-wheels/html5lib-0.999-py2.py3-none-any.whl venv-pypy/lib/python-wheels/pip-1.5.6-py2.py3-none-any.whl venv-pypy/lib/python-wheels/requests-2.7.0-py2.py3-none-any.whl venv-pypy/lib/python-wheels/setuptools-18.3.1-py2.py3-none-any.whl venv-pypy/lib/python-wheels/six-1.10.0-py2.py3-none-any.whl venv-pypy/lib/python-wheels/urllib3-1.11-py2.py3-none-any.whl venv-pypy/site-packages venv-pypy/site-packages/_markerlib venv-pypy/site-packages/_markerlib/*.py venv-pypy/site-packages/_markerlib/__pycache__ venv-pypy/site-packages/_markerlib/__pycache__/*.py venv-pypy/site-packages/pip venv-pypy/site-packages/pip-1.5.6.dist-info venv-pypy/site-packages/pip/backwardcompat venv-pypy/site-packages/pip/backwardcompat/*.py venv-pypy/site-packages/pip/backwardcompat/__pycache__ venv-pypy/site-packages/pip/backwardcompat/__pycache__/*.py venv-pypy/site-packages/pip/commands venv-pypy/site-packages/pip/commands/*.py venv-pypy/site-packages/pip/commands/__pycache__ venv-pypy/site-packages/pip/commands/__pycache__/*.py venv-pypy/site-packages/pip/*.py venv-pypy/site-packages/pip/__pycache__ venv-pypy/site-packages/pip/__pycache__/*.py venv-pypy/site-packages/pip/vcs venv-pypy/site-packages/pip/vcs/*.py venv-pypy/site-packages/pip/vcs/__pycache__ venv-pypy/site-packages/pip/vcs/__pycache__/*.py venv-pypy/site-packages/pkg_resources venv-pypy/site-packages/pkg_resources/*.py venv-pypy/site-packages/pkg_resources/__pycache__ venv-pypy/site-packages/pkg_resources/__pycache__/*.py venv-pypy/site-packages/pkg_resources/_vendor venv-pypy/site-packages/pkg_resources/_vendor/packaging venv-pypy/site-packages/pkg_resources/_vendor/packaging/*.py venv-pypy/site-packages/pkg_resources/_vendor/packaging/__pycache__ venv-pypy/site-packages/pkg_resources/_vendor/packaging/__pycache__/*.py venv-pypy/site-packages/pkg_resources/_vendor/*.py venv-pypy/site-packages/pkg_resources/_vendor/__pycache__ venv-pypy/site-packages/pkg_resources/_vendor/__pycache__/*.py venv-pypy/site-packages/*.py venv-pypy/site-packages/__pycache__ venv-pypy/site-packages/__pycache__/*.py venv-pypy/site-packages/setuptools venv-pypy/site-packages/setuptools-18.3.1.dist-info venv-pypy/site-packages/setuptools/command venv-pypy/site-packages/setuptools/command/*.py venv-pypy/site-packages/setuptools/command/__pycache__ venv-pypy/site-packages/setuptools/command/__pycache__/*.py venv-pypy/site-packages/setuptools/*.py venv-pypy/site-packages/setuptools/__pycache__ venv-pypy/site-packages/setuptools/__pycache__/*.py venv-pypy/site-packages/setuptools/script (dev).tmpl venv-pypy/site-packages/setuptools/script.tmpl -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (600, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.1.0-2-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages pypy depends on: ii dpkg 1.18.3 ii libbz2-1.0 1.0.6-8 ii libc6 2.19-22 ii libexpat1 2.1.0-7 ii libffi6 3.2.1-3 ii libgdbm3 1.8.3-13.1 ii libncurses5 6.0+20150810-1 ii libsqlite3-0 3.8.11.1-1 ii libssl1.0.0 1.0.2d-1 ii libtinfo5 6.0+20150810-1 ii pypy-lib 2.6.1+dfsg-2 ii zlib1g 1:1.2.8.dfsg-2+b1 Versions of packages pypy recommends: ii libunwind-dev 1.1-4 Versions of packages pypy suggests: ii pypy-doc 2.6.1+dfsg-2 pn pypy-tk <none> -- no debconf information