调用由PyInstaller创建的外部exe文件时出现未知命令"syncdb
我有一个叫做 db 的文件夹。
这个 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)
然后我用 Python 的 distutils 把这个 db 文件夹安装到了 site-packages 里。
现在我有另一个叫做 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
在运行你的 syncdb
函数之前,试着把当前工作目录切换到你的项目文件夹。
import os
from db import syncdb
os.chdir(path_to_your_project) # Change working dir.
syncdb()