我已经将Pygments安装到了虚拟环境中,它似乎被正确地导入到了我的项目中。

我使用的是PyCharm,而且没有从IDE中获得任何导入错误。

但是,当我试图在localhost上运行它时,我会得到以下错误:

我的翻译设置如下:

如果我尝试导入整个Pygments模块,我也会遇到同样的问题。知道是什么导致的吗?
发布于 2016-01-24 08:37:29
让我们继续找出您在“运行”应用程序时真正使用的解释器。
首先,在您导入pygments之前放置以下命令:import sys; print(sys.executable)
这将为您很好地指示python解释器正在使用什么。
如果您在PyCharm内部运行这些内容,您可能会忘记设置项目解释器。上面的线应该能准确地告诉你。
不管怎样,往前走。要在PyCharm中设置项目解释器,请转到File > Settings,您将看到以下菜单:

转到Project Interpreter选项(左边)。在屏幕的右边,有一个小装置,如果你按下这个,你会看到这个小菜单弹出:

我假设您的虚拟环境在本地机器上(而不是在某些虚拟机中)。如果这是真的,只需单击Add Local (添加本地python解释器即)。
在下一个菜单中,假设您的virtualenv驻留在/home/myuser/virtualenv目录中,那么继续选择文件/home/myuser/virtualenv/bin/python。
差不多就是这样。
现在我以为您是从PyCharm运行该项目的。
如果我弄错了,并且您是通过一个命令(如python -m my_module )从控制台运行它,并且您是在linux中运行的,那么请继续输入type python来检查您使用的python解释器。这将确切地告诉您,如果这是您向我们展示站点包的python。
如果不是,请确保激活该虚拟环境(在linux上是source /home/myuser/virtualenv/bin/activate)。对于windows,google是你的朋友。
其他可能发生的事情是,您正在使用一些有点懒的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 )或rehash (如果使用zsh )。您可以通过键入comand env | sort来找出您正在使用的shell,并查找键SHELL。
如果它仍然不能工作,在激活虚拟env之后,运行命令type python并发布结果,尽管如果您正确地完成了所有操作,那么它就有99.99%的可能性。
https://stackoverflow.com/questions/34972908
复制相似问题