当 Python 虚拟环境找不到模块时该怎么办?

当 Python 虚拟环境找不到模块时该怎么办?

在 Ubuntu 16.04 上,我创建了一个名为的虚拟环境venv,在里面venv/lib/python2.7/site-packages我拥有nltk并且nltk-3.2.2.dist-info一切正常。

但是,当我使用激活虚拟环境source venv/bin/activate并运行包含的 Python 脚本时import nltk,出现错误:

ImportError: No module named nltk

如何修复此问题?

答案1

使用“pip list”,您可以随时检查您的 venv 中安装了哪些包。

(venv)user@home:~/venv$ pip list
pip (9.0.1)
setuptools (32.3.0)
wheel (0.29.0)
...

答案2

首先激活 venv,然后安装依赖项,例如pip install nltk

这些包将位于 venv 文件夹内。

答案3

使用 vscode 时,当我尝试使用默认的“运行 python 文件”或“调试 python 文件”按钮运行我的程序时遇到了该问题,即使我已激活 venv。

我发现这是因为所有这些按钮都运行一个命令,该命令使用系统中的默认 python 来运行文件,而不是 venv 中的文件。要解决这个问题,你需要手动运行该程序:python path_to_your/file_name.py

编辑:启用 venv 后,您可以按ctrl+shift+p,然后Python:Select Interpreter在 venv 中键入并选择 python 解释器。现在,运行和调试按钮应该可以正常工作。

相关内容