用于 Google App Engine Python 的 Pygments 不起作用

Posted

技术标签:

【中文标题】用于 Google App Engine Python 的 Pygments 不起作用【英文标题】:Pygments for Google App Engine Python Doesn't Work 【发布时间】:2012-07-20 07:14:41 【问题描述】:

这是我的代码:

from google.appengine.ext import db
import pygments
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import htmlFormatter

但我明白了:

import pygments
ImportError: No module named pygments
INFO     2012-07-20 07:05:44,386 dev_appserver.py:2952] "GET / HTTP/1.1" 500 -

我做错了什么?

Google App Engine 不支持 pygments 吗?我以为是的...有人可以纠正我吗?

【问题讨论】:

【参考方案1】:

您可以运行 Pygments,因为它是纯 Python,但它不作为 GAE 中的默认库包含在内。相反,您需要下载源代码并将其复制到您的项目中。

    转到 PyPi 并下载 Pygments。

    解压缩,然后将源代码复制到应用引擎文件夹中为您的项目(可能最好在顶层)。

    然后你可以像往常一样做import pygments。如果你想把它放在一个子目录中(比如mypackages),你必须改变导入字符串,例如from mypackages import pygments.

【讨论】:

非常感谢,我会投票,但我没有足够的声誉:\【参考方案2】:

支持它(因为 Pygments 是纯 Python),但它可能不包含它。将模块复制到sys.path 中的目录之一。

【讨论】:

抱歉,我该怎么做呢? 首先你下载它。然后你提取它。然后你复制它。【参考方案3】:

将第 3 方移动到 lib 目录。 将此行添加到您的主文件中。将pygmentsimport pygments 一起使用

import os
import sys

sys.path.insert(1, os.path.join(os.path.abspath('.'), 'lib'))
import application

https://github.com/kamalgill/flask-appengine-template/blob/master/src/run.py

【讨论】:

以上是关于用于 Google App Engine Python 的 Pygments 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

.jsp 文件不适用于 Google App Engine 留言簿教程

用于开发 Python 和 Google App Engine 的资源

用于 Google App Engine 和 Django 的 Python 调试器

APNS 不适用于 Google App Engine 上的 AdHoc 分发配置文件

用于跳过文件以忽略 Mercurial 文件的 Google App Engine App.yaml 配置

用于开发 iPhone 推送通知服务的 Google App Engine 的 Java 替代方案是啥?