Some more info: Inserting a 'print(cmd)' at line 259 showed that the direct cause of the error message is the command:
['/home/flo/python-venv/testdir/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip'] exiting with a non-zero exit status. Running this command by hand after the venv creation failed yields: ~/python-venv % /home/flo/python-venv/testdir/bin/python3.5 -Im ensurepip --upgrade --default-pip; echo $? Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/lib/python3.5/ensurepip/__main__.py", line 4, in <module> ensurepip._main() File "/usr/lib/python3.5/ensurepip/__init__.py", line 218, in _main version="pip {}".format(version()), File "/usr/lib/python3.5/ensurepip/__init__.py", line 74, in version assert len(wheel_names) == 1, wheel_names AssertionError: [] 1 ~/python-venv % The assertion error comes from this in /usr/lib/python3.5/ensurepip/__init__.py: wheel_names = glob.glob('/usr/share/python-wheels/pip-*.whl') assert len(wheel_names) == 1, wheel_names and indeed: ~/python-venv % ls /usr/share/python-wheels/pip-*.whl zsh: no matches found: /usr/share/python-wheels/pip-*.whl ~/python-venv % apt-file search /usr/share/python-wheels/pip- virtualenv: /usr/share/python-wheels/pip-8.0.2-py2.py3-none-any.whl ~/python-venv % I then installed the 'virtualenv' package, which does provide the mentioned file, and tried to recreate the venv from scratch after adding a 'print(os.getcwd())' right after the previously-added 'print(cmd)' in /usr/lib/python3.5/venv/__init__.py (lines 259-260, before the 'try' statement in EnvBuilder._setup_pip()): ~/python-venv % rm -rf testdir ~/python-venv % /usr/bin/python3.5 -m venv testdir ['/home/flo/python-venv/testdir/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip'] /home/flo/python-venv The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package using the following command. apt-get install python3-venv You may need to use sudo with that command. After installing the python3-venv package, recreate your virtual environment. ~/python-venv % /usr/bin/python3.5 -c "import subprocess; subprocess.check_output(['/home/flo/python-venv/testdir/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip'])" Traceback (most recent call last): File "/tmp/tmpicb907db/pip-8.0.2-py2.py3-none-any.whl/pip/_vendor/__init__.py", line 33, in vendored ImportError: No module named 'pip._vendor.cachecontrol' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "__main__", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/usr/lib/python3.5/ensurepip/__main__.py", line 4, in <module> ensurepip._main() File "/usr/lib/python3.5/ensurepip/__init__.py", line 269, in _main default_pip=args.default_pip, File "/usr/lib/python3.5/ensurepip/__init__.py", line 175, in bootstrap _run_pip(args + _PROJECTS, additional_paths) File "/usr/lib/python3.5/ensurepip/__init__.py", line 65, in _run_pip import pip File "/tmp/tmpicb907db/pip-8.0.2-py2.py3-none-any.whl/pip/__init__.py", line 12, in <module> File "/tmp/tmpicb907db/pip-8.0.2-py2.py3-none-any.whl/pip/exceptions.py", line 6, in <module> File "/tmp/tmpicb907db/pip-8.0.2-py2.py3-none-any.whl/pip/_vendor/__init__.py", line 52, in <module> File "/tmp/tmpicb907db/pip-8.0.2-py2.py3-none-any.whl/pip/_vendor/__init__.py", line 35, in vendored ImportError: No module named 'cachecontrol' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python3.5/subprocess.py", line 626, in check_output **kwargs).stdout File "/usr/lib/python3.5/subprocess.py", line 708, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['/home/flo/python-venv/testdir/bin/python3.5', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1 ~/python-venv % -- Florent