Python ImportError: 找不到名为pygments的模块

5
我执行了以下代码
# Allows the use of display() for displaying 
from IPython.display import display DataFrames

它显示了以下的错误
 File "/usr/lib64/python2.7/site-packages/IPython/utils/colorable.py", line 13, in <module>
    import pygments
ImportError: No module named pygments

所以我尝试安装pygments

pip install pygments

并且它说:

Requirement already satisfied: pygments in /home/rico/downloads/hgvs-0.1.2/Pygments-2.1.3-py2.7.egg (2.1.3)

你有解决这个问题的想法吗? 谢谢。


虽然我不是Linux用户,但是/home/rico/downloads/hgvs-0.1.2/Pygments-2.1.3-py2.7.egg (2.1.3)看起来有点奇怪。它被安装在你的下载文件夹里了吗? - roganjosh
你使用virtualenv吗?pip告诉你的路径似乎非常奇怪。我的路径显示为/usr/lib/python3.7/site-packages。 另外,尝试使用sudo pip install Pygments,这应该会忽略你下载文件夹中的“安装”。 - Marcel P
@MarcelP 那不是只安装到系统 Python 中吗? - roganjosh
pip install Pygments ==> 要求已满足:Pygments 已安装在 home/rico/downloads/hgvs-0.1.2/Pygments-2.1.3-py2.7.egg (2.1.3)。它表示相同的内容。 - user979974
我不使用 virtualenv。我应该使用它吗? - user979974
它应该安装到系统中,至少我是这样理解的。 virtualenv会_有点_解释这个相当奇怪的路径。你尝试过将其删除并重新安装以查看它是否仍驻留在同一目录中吗? - Marcel P
1个回答

3

看起来你是在全局范围内安装了Pygments模块,而不是安装在虚拟环境中。

什么是虚拟环境?

虚拟环境是一种保持你的应用程序或服务依赖项一致性的方法。
virtualenv是一个创建隔离Python环境的工具,在其中你可以安装特定于该环境的依赖项,而不是全局安装它们。

虚拟环境有助于在开发和部署过程中创建一致性,从而帮助构建更好的应用程序或服务。

安装 virtualenv

首先,安装 virtualenv:

pip install virtualenv

要创建一个虚拟环境,请先运行此命令:

```python -m venv env```

$ virtualenv -p python3 {name-of-virtual-env} 

我们称其为my_venv,然后运行以下命令:
$ virtualenv -p python3 my_venv 

创建虚拟环境后,运行以下命令以激活它:

$ source my_venv/bin/activate 

在运行激活命令后,您应该在终端的开头看到您的虚拟环境名称,如下所示:
(my_venv) $ source my_venv/bin/activate 

本地安装模块

进入my_venv文件夹并安装Pygments模块:

cd my_venv && pip3 install pygments

您应该看到它已经在my_venv文件夹内的lib/python3.8/site-packages下本地安装:

`-- my_venv
    |-- bin
    |-- lib
    |   `-- python3.8
    |       `-- site-packages
    |           |-- chardet
    |           |-- chardet-3.0.4.dist-info
    |           |-- idna
    |           |-- pip
    |           |-- pip-21.0.1.dist-info
    |           |-- pip-21.0.1.virtualenv
    |           |-- pkg_resources
    |           |-- pygments #<--------- Here
    |           |-- pygments_promql            
    |           |-- pygments_promql-0.0.5.dist-info
    |           |-- regex
    `-- pyvenv.cfg

取消虚拟环境

运行完你的应用程序或服务后,你可以通过运行deactivate命令来关闭你的虚拟环境:

(my_venv) $ deactivate

这里阅读更多关于Python虚拟环境的介绍。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接