Ada*_*tan 16 python pip virtualenv bpython
我创建了一个virtualenv并在其中安装了SQLAlchemy:
$ virtualenv alchemy
$ source alchemy/bin/activate
$ pip install sqlalchemy
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
>>> import sqlalchemy
Traceback (most recent call last):
File "<input>", line 1, in <module>
ImportError: No module named sqlalchemy
Run Code Online (Sandbox Code Playgroud)
为什么bpython找不到virtualenv中安装的软件包,即使它source alchemy/bin/activate被调用后执行?
Ada*_*tan 26
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
Run Code Online (Sandbox Code Playgroud)
bpython 在它的shebang中安装了硬编码的python.
您可以手动编辑它以使其使用当前的python.例如,通过运行来打开脚本$ vi $(which bpython).
然后从例如改变顶线.#!/usr/bin/python3例如.#!/usr/bin/env python3.
这应该使它使用venv的python运行.它不是由bpython正式支持,但它在Mac OS X和Ubuntu上一直对我有用.