2

我有一个首先用 Python 编写的 Django 项目。然后我们意识到使用 Jython 可能会有优势。

在花了一两天摆弄 Jython 试图让原始项目在 Jython 中运行之后,我意识到问题可能在于我试图运行一个用 Python 生成的 Django 项目。我在想也许 django-jython 项目可能只会影响使用 Jython 生成的所有 Django 代码。

会是这样吗?当我尝试运行jython manage.py syncdb时弹出的错误是django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb除了 django-jython 应该这样如果我的配置说'ENGINE': 'doj.backends.zxjdbc.mysql'然后它会运行正常。哦,我的类路径确实包含 mysql-connector-java-5.1.20-bin.jar

有什么帮助吗?提示?批评?

编辑:哦,对不起。在 Jython,我有

Django : 1.3.1 
Jython : 2.5.2 
django-jython : 1.3

数据库如下所示:

DATABASES = {
    'default': {
        'ENGINE': 'doj.backends.zxjdbc.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django_abcd',                      # Or path to database file if using sqlite3.
        'USER': 'abcdef',                      # Not used with sqlite3.
        'PASSWORD': 'ghijkl123',                  # Not used with sqlite3.
        'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
    }
}

编辑2:所以我想我发现了一些问题。Jython 正确设置了它自己的东西,但是当我将东西添加到 JYTHONPATH 时,会产生冲突(特别是当我将原始 python 站点包包含到 JYTHONPATH 时)。Jython 没有告诉我有模块名称 MySQLdb,而是告诉我它现在缺少 Grappelli。

所以在某种程度上,我认为这个问题已经解决了。

谢谢大家的时间。:)

4

1 回答 1

0

如果您只使用纯 Python 应用程序,那么它应该在 CPython 和 Jython 之间工作,前提是您修改了数据库后端。如果您的任何应用程序中有 C 模块,那么您将需要移植相关代码以使用 Python 或 Java 库。

于 2012-06-25T23:16:43.037 回答