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

Reply via email to