如何在不使用源代码的情况下使用 .pyc 文件运行 Django 项目?

Asl*_*Kök 6 python django pyc django-rest-framework

我有一个 django 项目,我想创建 .pyc 文件并删除源代码。我的项目文件夹名称是mysite,我运行了命令python -m compileall mysite. .pyc 文件已创建。之后,我尝试使用python __pycache__/manage.cpython-37.pyc runserver命令运行我的项目,但出现错误,例如ModuleNotFoundError: No module named 'mysite'

关于这个问题,我有两件事要问。首先,如何解决这个问题并使用 .pyc 文件运行我的项目?其次,根据django项目结构将创建的.pyc文件移动到一个单独的文件夹中是否足够?

Asl*_*Kök 3

首先,我在另一个目录中创建了一个新文件夹,例如一个新的 django 项目,并手动创建了我的app文件夹、static文件夹、templates文件夹等,与我之前创建的 django 项目架构相同。

然后,我将使用compileall命令创建的.pyc文件移动到我的新项目文件夹中。

如您所知,在创建 .pyc 文件时,.cpython-37会自动在文件名中添加一个部分(例如manage.py -> manage.cpython-37.pyc)。我删除了该部分并将它们转换为manage.pyc,views.pyc等。

所以我的文件结构是这样的:

mysite/
    manage.pyc
    mysite/
        __init__.pyc
        settings.pyc
        urls.pyc
        wsgi.pyc
    app/
        migrations/
                __init__.pyc
        __init__.pyc
        admin.pyc
        apps.pyc
        models.pyc
        tests.pyc
        views.pyc

        ...
Run Code Online (Sandbox Code Playgroud)

在我使用 .pyc 文件创建这个 django 项目结构后,我运行了命令python manage.pyc runserver并且它起作用了。