Python ImportError:没有名为 pygments 的模块

Posted

技术标签:

【中文标题】Python ImportError:没有名为 pygments 的模块【英文标题】:Python ImportError: No module named pygments 【发布时间】:2018-10-25 08:07:41 【问题描述】:

我运行了以下代码

# 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) 看起来有些奇怪。它已安装在您的下载文件夹中? 你使用 virtualenv 吗? pip 告诉你的路径确实看起来很奇怪。我的路径告诉我/usr/lib/python3.7/site-packages。另外,试试sudo pip install Pygments,这应该会忽略下载文件夹中的“安装”。 @MarcelP 不就是安装到系统python吗? pip install Pygments ==> 要求已经满足:在 home/rico/downloads/hgvs-0.1.2/Pygments-2.1.3-py2.7.egg (2.1.3) 中的 Pygments。它说同样的话 我不使用 virtualenv。我应该使用它吗? 【参考方案1】:

您似乎在全局范围内安装了 Pygments 模块,而不是在 virtualenv 内安装。

什么是虚拟环境?

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

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

安装虚拟环境

首先,安装虚拟环境:

pip install virtualenv

要创建一个 virtualenv,首先运行这个命令:

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

我们称之为my_venv,所以运行以下命令:

$ virtualenv -p python3 my_venv 

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

$ source my_venv/bin/activate 

运行 activate 命令后,您应该会在终端开头看到虚拟环境的名称,如下所示:

(my_venv) $ source my_venv/bin/activate 

在本地安装模块

my_venv 文件夹中导航并安装Pygments 模块:

cd my_venv && pip3 install pygments

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

`-- 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 命令关闭您的 virtualenv:

(my_venv) $ deactivate

在here阅读更多内容。

【讨论】:

以上是关于Python ImportError:没有名为 pygments 的模块的主要内容,如果未能解决你的问题,请参考以下文章

Python 3:ImportError“没有名为 Setuptools 的模块”

ImportError:没有名为“urllib2”Python 3的模块[重复]

Python 错误:“ImportError:没有名为 6 的模块”

python ImportError:没有名为win32file的模块

ImportError:没有名为 websocket 的模块

python3:ImportError:没有名为xxxx的模块[重复]