我已将Pygments安装到我的virtualenv中,它似乎已正确导入我的项目中。
我正在使用PyCharm,而且我没有从IDE中获取导入错误。
但是当我尝试在localhost上运行它时,我收到以下错误:
如果我尝试导入整个Pygments模块,我会遇到同样的问题。知道是什么导致了这个吗?
答案 0 :(得分:3)
让我们继续,找出你“运行”你的应用程序时你真正使用的翻译。
首先,我在你进行pygments导入之前就把这个命令放了:
import sys; print(sys.executable)
这将为您提供python解释器正在使用的内容的良好指示。
如果您正在运行PyCharm内部的东西,您可能忘记设置项目Interpreter。上面这一行应该准确地告诉你。
无论如何,向前走。要在PyCharm中设置项目解释器,请转到File > Settings
,您将看到以下菜单:
转到Project Interpreter
选项(左侧)。在屏幕的右侧有一个小齿轮,如果你按下这个,你会看到这个小菜单弹出:
我假设您的虚拟环境位于本地计算机上(不在某些虚拟机中)。如果是这样,您只需单击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%的可能性。