没有名为Pygments的模块

时间:2016-01-24 06:29:41

标签: python django virtualenv pygments

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

我正在使用PyCharm,而且我没有从IDE中获取导入错误。

但是当我尝试在localhost上运行它时,我收到以下错误:

我的翻译是这样设置的:

如果我尝试导入整个Pygments模块,我会遇到同样的问题。知道是什么导致了这个吗?

1 个答案:

答案 0 :(得分:3)

让我们继续,找出你“运行”你的应用程序时你真正使用的翻译。

首先,我在你进行pygments导入之前就把这个命令放了: import sys; print(sys.executable)

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

如果您正在运行PyCharm内部的东西,您可能忘记设置项目Interpreter。上面这一行应该准确地告诉你。

无论如何,向前走。要在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,谷歌是你的朋友。

其他可能发生的事情是你正在使用一些有点懒的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,并查找键SHELL

如果它仍然不起作用,在激活虚拟环境后,运行命令type python并发布结果,但如果你做的一切正确,那么它有99.99%的可能性。