python - 没有名为 Pygments 的模块

标签 python django virtualenv pygments

我已将 Pygments 安装到我的 virtualenv 中,并且它似乎已正确导入到我的项目中。

我正在使用 PyCharm,并且我没有从 IDE 中收到任何导入错误。

但是当我尝试在本地主机上运行它时,出现以下错误:

我的解释器是这样设置的:

如果我尝试导入整个 Pygments 模块,我也会遇到同样的问题。知道是什么原因造成的吗?

最佳答案

让我们继续找出当您“运行”应用程序时您真正使用的解释器。

首先,我会在执行 pygments 导入之前放置此命令: import sys; print(sys.executable)

这将为您提供有关 python 解释器正在使用的内容的良好指示。

如果您从 PyCharm 内部运行这些内容,您可能忘记设置项目解释器。上面的行应该准确地告诉你。

无论如何,继续前进。要在 PyCharm 中设置项目解释器,请转到 File > Settings你会看到这个菜单: enter image description here

转到Project Interpreter选项(在左侧)。屏幕右侧有一个小齿轮,如果你按下它,你会看到这个小菜单弹出:enter image description here

我假设您的虚拟环境位于本地计算机上(而不是某些虚拟机中)。如果这是真的,您只需点击 Add Local (即添加本地python解释器)。

在下一个菜单中,假设您的 virtualenv 位于目录 /home/myuser/virtualenv 中,继续选择文件/home/myuser/virtualenv/bin/python .

差不多就是这样。

现在我假设您正在从 PyCharm 运行该项目。

如果我错了,并且您是通过诸如 python -m my_module 之类的命令从控制台运行它的。 ,并且您在 Linux 中,请继续检查 python您使用的解释器输入 type python 。这将准确地告诉您这是否是您向我们展示站点包的 python。

如果不是,请确保激活该虚拟环境(在 Linux 上为 source /home/myuser/virtualenv/bin/activate )。对于 Windows,Google 是您的 friend 。

可能发生的其他事情是,您使用的 shell 有点懒,即使您已经安装了虚拟环境,它仍然使用以前使用的 python 版本。 在 bash ,使用命令hash -r ,在 zsh使用命令rehash 。这将更新您的 shell 以了解新的 python。

如果没有效果,只需发布​​你的结果,我可以告诉你从那时起该怎么做。

从您最近的评论来看,您可能没有activated您的虚拟环境。

当你 cd进入您 python manage.py runserver 所在的目录,您使用了错误的python 。要亲自检查这一点,只需转到您的终端,然后 cd进入包含您的 manage.py 的目录脚本。类型python那里。在 python 控制台中,运行:import sys; print(sys.executable)

[编辑]

如前所述,它将 /usr/bin/python 。那不是您想要的 python 可执行文件。

为了python在这种情况下,要引用已安装 pygments 的 python,您需要激活虚拟环境。这仅仅意味着执行命令 python成为您所期望的人。

使用此命令 source ~/Desktop/Misc/Hobbies/Programming/Projects/Pygamers/venv/bin/activate 可以轻松完成此操作

运行此命令后,您可以输入 python manage.py runserver <whatever options you want>再次,它应该可以工作。

如果没有,请输入 hash -r (如果您使用的是 bash shell)或 rehash如果您使用的是 zsh。您可以通过输入命令 env | sort 来了解您正在使用的 shell。 ,andl寻找 key SHELL

如果仍然不起作用,请在激活虚拟环境后,运行命令 type python并发布结果,但如果您正确执行了所有操作,则有 99.99% 的机会它会起作用。

关于python - 没有名为 Pygments 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34972908/

相关文章:

python - 如何修复 limit_choices_to 不能成为 Django 中的外键?

python - 如何通过两个日期列对 Pandas 数据框进行排序

python - Django 性能 |在 Django 中更新模型后重新计算所有相关模型中的字段值

virtualenv 中的 Python ctypes 导入错误

Django uwsgi 导入错误

python - 从零开始的操作系统

python - 如何将卡住图转换为 TensorFlow lite

python - 如何解决 "bad interpreter: Too many levels of symbolic links"

html - 为什么将 Bootstrap 按钮放入 DIV 后会停止工作?

django - 是否有 django 模板过滤器来显示百分比?