Por que o virtualenv herda $ PYTHONPATH do meu shell?

Então, estou migrando todas as minhas ferramentas de python2 para python3.4 em uma máquina Ubuntu 14.04. Até agora, eu fiz o seguinte:

python com alias para python3 no meu zshrc apenas para o meu usuárioinstalou o pip3 no próprio sistema (mas, de qualquer maneira, usarei virtualenvs para tudo, para não usá-lo)mudei meu alias virtualenvwrapper "make" paramkvirtualenv --python=/usr/bin/python3 ('workon' é chamado abaixo como 'v')

Agora, curiosamente, e você pode vê-lo claramente abaixo, a execução de python3 a partir de um ambiente ativado por virtualenv ainda herda meu $ PYTHONPATH, que ainda está configurado para todos os meus caminhos python2. Isso causa estragos ao instalar / executar programas no meu virtualenv, porque os caminhos python3 aparecem APÓS os caminhos python2 antigos, de modo que os módulos python2 são importados primeiro nos meus programas. Anular meu $ PYTHONPATH para '' antes de iniciar o virtualenv corrige isso e meus programas iniciam conforme o esperado. Mas minhas perguntas são:

Essa herança de $ PYTHONPATH em virtualenvs é normal? Isso não derrota todo o propósito?Por que definir $ PYTHONPATH como um env-var no shell quando o python já manipula seus próprios caminhos internamente?Estou usando o $ PYTHONPATH corretamente? Devo apenas defini-lo no meu 'zshrc' para listar apenas minhas adições pessoais ($ HOME / dev) e não os locais redundantes '/ usr / local / lib /'?Posso exportar facilmente um caminho python3 alternativo para uso com meus virtualenvs antes de invocá-los e redefini-los quando terminar, mas essa é a melhor maneira de corrigir isso?
    ○ echo $PYTHONPATH
    /usr/local/lib/python2.7/site-packages:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/home/brian/dev

    brian@zeus:~/.virtualenvs
    ○ python2
    Python 2.7.6 (default, Mar 22 2014, 22:59:56)
    [GCC 4.8.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys, pprint
    >>> pprint.pprint(sys.path)
    ['',
     '/usr/local/lib/python2.7/dist-packages/pudb-2013.3.4-py2.7.egg',
     '/usr/local/lib/python2.7/dist-packages/Pygments-1.6-py2.7.egg',
     '/usr/local/lib/python2.7/dist-packages/urwid-1.1.1-py2.7-linux-x86_64.egg',
     '/usr/local/lib/python2.7/dist-packages/pythoscope-0.4.3-py2.7.egg',
     '/usr/local/lib/python2.7/site-packages',
     '/usr/local/lib/python2.7/dist-packages',
     '/usr/lib/python2.7/dist-packages',
     '/home/brian/dev',
     '/usr/lib/python2.7',
     '/usr/lib/python2.7/plat-x86_64-linux-gnu',
     '/usr/lib/python2.7/lib-tk',
     '/usr/lib/python2.7/lib-old',
     '/usr/lib/python2.7/lib-dynload',
     '/usr/lib/python2.7/dist-packages/PILcompat',
     '/usr/lib/python2.7/dist-packages/gst-0.10',
     '/usr/lib/python2.7/dist-packages/gtk-2.0',
     '/usr/lib/pymodules/python2.7',
     '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
     '/usr/lib/python2.7/dist-packages/ubuntuone-client',
     '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
     '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode']
    >>>

    brian@zeus:~/.virtualenvs
    ○ v py3venv
    (py3venv)
    brian@zeus:~/.virtualenvs
    ○ python3
    Python 3.4.0 (default, Apr 11 2014, 13:05:11)
    [GCC 4.8.2] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys, pprint
    >>> pprint.pprint(sys.path)
    ['',
     '/usr/local/lib/python2.7/site-packages',
     '/usr/local/lib/python2.7/dist-packages',
     '/usr/lib/python2.7/dist-packages',
     '/home/brian/dev',
     '/home/brian/.virtualenvs/py3venv/lib/python3.4',
     '/home/brian/.virtualenvs/py3venv/lib/python3.4/plat-x86_64-linux-gnu',
     '/home/brian/.virtualenvs/py3venv/lib/python3.4/lib-dynload',
     '/usr/lib/python3.4',
     '/usr/lib/python3.4/plat-x86_64-linux-gnu',
     '/home/brian/.virtualenvs/py3venv/lib/python3.4/site-packages']
    >>>
    (py3venv)

questionAnswers(3)

yourAnswerToTheQuestion