没有名为 Pygments 的模块
No module named Pygments
我已将 Pygments 安装到我的 virtualenv 中,它似乎已正确导入到我的项目中。
我正在使用 PyCharm,我没有从 IDE.
中收到任何导入错误
但是当我尝试在本地主机上 运行 它时,出现以下错误:
我的解释器是这样设置的:
如果我尝试导入整个 Pygments 模块,我会遇到同样的问题。知道是什么原因造成的吗?
让我们继续看看您在 "run" 应用程序时真正使用的解释器。
首先,我会在您执行 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,请继续检查什么python
您正在使用的解释器,输入 type python
。这将准确地告诉您那是否是您向我们展示的 site-packages.
所对应的 python
如果不是,请确保激活该虚拟环境(在 linux 上是 source /home/myuser/virtualenv/bin/activate
)。对于 windows,google 是你的朋友。
可能发生的其他事情是您使用的一些 shell 有点懒惰,即使您已经安装了虚拟环境,它仍在使用以前使用的 python 版本。
在 bash
中使用命令 hash -r
,在 zsh
中使用命令 rehash
。这将更新您的 shell 以了解新的 python.
如果没有任何效果,只需post你的结果,我可以告诉你从那时起该怎么做。
从你最后的评论来看,你可能 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
和 post 结果,但如果你做的一切正确,有一个 99.99 % 成功的几率。
我已将 Pygments 安装到我的 virtualenv 中,它似乎已正确导入到我的项目中。
我正在使用 PyCharm,我没有从 IDE.
中收到任何导入错误但是当我尝试在本地主机上 运行 它时,出现以下错误:
我的解释器是这样设置的:
如果我尝试导入整个 Pygments 模块,我会遇到同样的问题。知道是什么原因造成的吗?
让我们继续看看您在 "run" 应用程序时真正使用的解释器。
首先,我会在您执行 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,请继续检查什么python
您正在使用的解释器,输入 type python
。这将准确地告诉您那是否是您向我们展示的 site-packages.
如果不是,请确保激活该虚拟环境(在 linux 上是 source /home/myuser/virtualenv/bin/activate
)。对于 windows,google 是你的朋友。
可能发生的其他事情是您使用的一些 shell 有点懒惰,即使您已经安装了虚拟环境,它仍在使用以前使用的 python 版本。
在 bash
中使用命令 hash -r
,在 zsh
中使用命令 rehash
。这将更新您的 shell 以了解新的 python.
如果没有任何效果,只需post你的结果,我可以告诉你从那时起该怎么做。
从你最后的评论来看,你可能 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
和 post 结果,但如果你做的一切正确,有一个 99.99 % 成功的几率。