Запуск bpython внутри виртуального

Я создал virtualenv и установил SQLAlchemy в нем:

$ virtualenv alchemy $ source alchemy/bin/activate $ pip install sqlalchemy 

import работает в python:

 $ python Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sqlalchemy >>> print sqlalchemy.__version__ 0.9.7 

Но это не работает в bpython :

 >>> import sqlalchemy Traceback (most recent call last): File "<input>", line 1, in <module> ImportError: No module named sqlalchemy 

Почему bpython не может найти пакет, установленный в virtualenv, хотя он выполняется после вызова source alchemy/bin/activate ?

    bpython должен быть установлен в virtualenv, иначе внешняя общесистемная bpython называется:

     $ source alchemy/bin/activate (alchemy)[ 10:34PM ] [ adamatan@rubidium:/tmp ] $ pip install bpython ... $ alchemy/bin/bpython -------------- >>> import sqlalchemy >>> print sqlalchemy.__version__ 0.9.7 

    bpython есть python, который был установлен с жестко закодированным в его shebang.

    Вы можете вручную отредактировать его, чтобы он использовал текущий python. Откройте скрипт, запустив, например, $ vi $(which bpython) .

    Затем измените верхнюю строку, например. #!/usr/bin/python3 например. #!/usr/bin/env python3 .

    Это должно заставить его работать с использованием python venv. Официально это не поддерживается bpython, но он всегда работал на меня как на Mac OS X, так и на Ubuntu.