繁体   English   中英

直接执行python3脚本时没有名为pars的模块

[英]no module named pars when executing python3 script directly

我在 settings.py 中的INSTALLED_APPS下创建的 django 应用程序中的pars

当我直接从 bash 运行这个 python 脚本时,其中包括:

   #below 5 lines to run scripts 'standalone' in django
   import django
   from django.conf import settings
   from pars import pars_defaults
   settings.configure(default_settings=pars_defaults, DEBUG=True)
   django.setup()
   from pars.models import tb1, tb2

   technologytitle=soup.find("h1").text
    
   try:
       technology=CMS(nm=technologytitle)
       technology.save()
       print("saved techology: {}".format(technologytitle))
   except IntegrityError as e:
        print("Integrity error occurring with saving: {} {}".format(technologytitle, e))

更新我收到以下错误:

ModuleNotFoundError: No module named 'pars'

我做了大量的研究,但似乎无法弄清楚为什么会这样。

更新: settings.py

    #code before

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'pars',
    ]
    
    ROOT_URLCONF = 'secenumproject.urls'
    WSGI_APPLICATION = 'secenumproject.wsgi.application'

目录结构:

secenumproject/ 
    settings.py
    # etc
    secenumproject/pars
        models.py
        parse.py
        # etc

谢谢

如果不进行更改,您将无法直接运行此脚本。

在此处阅读更多信息: https://docs.djangoproject.com/en/4.1/topics/settings/#calling-django-setup-is-required-for-standalone-django-usage

我无法理解您项目的结构。 但它适用于我的项目:

# file my_test.py
import os
import django

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.settings')
django.setup()

from core.models import Shop

关于文件夹的附加信息:

project/
    __init__.py
    my_test.py
    manage.py

    core/
        __init__.py
        apps.py
        models.py

    settings/
        __init__.py
        settings.py

我如何运行它:

project>python my_test.py

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM