Public bug reported: Virtual environments created with pyvenv are supposed to be usable without 'activation', according to Python's docs. With Ubuntu's Python 3.3 packages, however, the sys.path is incomplete unless the environment variable VIRTUAL_ENV is set.
$ cd /tmp $ pyvenv-3.3 venv $ venv/bin/python -c 'import sys;print(sys.path)' ['', '/usr/lib/python3.3', '/usr/lib/python3.3/plat-x86_64-linux-gnu', '/usr/lib/python3.3/lib-dynload'] When I create a test module, I cannot import it: $ echo 'print("Hello")' > venv/lib/python3.3/site-packages/hello.py $ venv/bin/python -c 'import hello' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'hello' When I set VIRTUAL_ENV (simulating activation), the sys.path is complete and it works: $ VIRTUAL_ENV=/tmp/venv venv/bin/python -c 'import sys;print(sys.path)' ['', '/usr/lib/python3.3', '/usr/lib/python3.3/plat-x86_64-linux-gnu', '/usr/lib/python3.3/lib-dynload', '/tmp/venv/lib/python3.3/site-packages'] $ VIRTUAL_ENV=/tmp/venv venv/bin/python -c 'import hello' Hello The latter output is what I also get with a Python manually compiled from sources, but even without the VIRTUAL_ENV variable being set. This may be related: - https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695758 - https://bugs.launchpad.net/ubuntu/+source/python3.3/+bug/1093193 Versions: Ubuntu 13.10 Python 3.3.2-7ubuntu3.1 ** Affects: python3.3 (Ubuntu) Importance: Undecided Status: New -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1298831 Title: pyvenv environments not usable without activation To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/python3.3/+bug/1298831/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs