从pyinstaller创建的外部exe文件调用时,未知命令“syncdb”

时间:2014-04-08 14:09:59

标签: python django pyinstaller syncdb

我有一个名为db

的文件夹

分贝
    ------ __init__.py
    ------ dbobject.py
    ------ models.py
    ------ settings.py

__init__.py

from django.conf import settings

def syncdb():
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "db.settings")
    from django.core.management import call_command
    call_command('syncdb', interactive=False)

然后我在site-packages中使用python distutils安装了这个db文件夹。

现在我有另一个名为 cron 的文件夹包含:

  • main.py
  • settings.py

settings.py

from db import syncdb
syncdb()

这里有效。

然后制作了main.py的可执行文件

运行main.exe后,它给出了错误:

django.core.management.CommandError: Unknown Command: 'syncdb'

1 个答案:

答案 0 :(得分:0)

在运行syncdb功能之前,尝试将工作目录更改为项目文件夹:

import os
from db import syncdb

os.chdir(path_to_your_project) # Change working dir.
syncdb()