在虚拟环境中运行bpython

19 投票
5 回答
4272 浏览
提问于 2025-04-18 18:07

我创建了一个虚拟环境,并在里面安装了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

即使在执行了source alchemy/bin/activate之后,为什么bpython还是找不到在虚拟环境中安装的包呢?

5 个回答

0

如果你的虚拟环境(venv)里的bin文件夹里没有bpython这个东西,你可以用命令sudo find / -name bpython来找找看。在我的情况下,它被安装在了~/.local/bin/这个地方。

$ source alchemy/bin/activate
$ pip install bpython
...
$ ~/.local/bin/bpython
2

以模块的方式运行bpython对我来说是有效的

  1. mkdir workout && cd workout:创建一个名为“workout”的文件夹,并进入这个文件夹。
  2. venv shell --python=3.8:使用Python 3.8创建一个虚拟环境。
  3. 安装你需要的依赖,比如说,pipenv install gcloud
  4. pipenv install bpython:安装bpython这个工具。
  5. python -m bpython:以模块的方式运行bpython。
python -m bpython
bpython version 0.21 on top of Python 3.8.5 /home/dennys/.local/share/virtualenvs/workout-qTtsVfjR/bin/python
>>> from gcloud import bigquery
>>> 

2

必须在每个虚拟环境中使用pip3安装bpython。

$ virtualenv . 
$ source bin/activate 
$ pip3 install bpython
$ pip3 install sqlalchemy
$ bpython

>>> import slqalchemy

31

在虚拟环境中必须安装 bpython,否则会调用系统中全局安装的 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

撰写回答