代码之家  ›  专栏  ›  技术社区  ›  Harun ERGUL

导入错误:没有名为“django_select2”的模块

  •  1
  • Harun ERGUL  · 技术社区  · 6 年前

    我正在尝试将Django应用程序部署到 pythonanywhere . 我已经安装了应用程序所需的所有软件包。我也在使用 django_select2 在我的应用程序中可重用的应用程序。

    首先,我激活虚拟环境并安装 Django ou选择2 通过此命令:

    $ pip install django_select2
    

    当我执行以下命令时

    $ pip freeze 
    cryptography==2.2.2                                                                                                                                                                                               
    Django==2.0.7                                                                                                                                                                                                     
    django-appconf==1.0.2                                                                                                                                                                                             
    django-select2==6.1.0                                                                                                                                                                                             
    Flask==1.0.2                                                                                                                                                                                                      
    Flask-JWT==0.3.2                                                                                                                                                                                                  
    Flask-SQLAlchemy==2.3.2                                                                                                                                                                                           
    furl==1.2                                                                                                                                                                                                         
    idna==2.7   
    

    如你所见 Django ou选择2 也在安装列表中。我也查一下 site-packages 在我的男性环境中。还有 Django ou选择2 文件夹。

    但是,当我运行应用程序时,它会生成 ImportError: No module named 'django_select2' 在我的 error.log

    这是我的一部分 错误.log

    2018-07-14 14:18:53,934: Error running WSGI application
    2018-07-14 14:18:53,934: ImportError: No module named 'django_select2'
    2018-07-14 14:18:53,934:   File "/var/www/harunergul_pythonanywhere_com_wsgi.py", line 22, in <module>
    2018-07-14 14:18:53,935:     application = get_wsgi_application()
    2018-07-14 14:18:53,935: 
    2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/core/wsgi.py", line 13, in get_wsgi_application
    2018-07-14 14:18:53,935:     django.setup(set_prefix=False)
    2018-07-14 14:18:53,935: 
    2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/__init__.py", line 27, in setup
    2018-07-14 14:18:53,935:     apps.populate(settings.INSTALLED_APPS)
    2018-07-14 14:18:53,935: 
    2018-07-14 14:18:53,935:   File "/usr/local/lib/python3.5/dist-packages/django/apps/registry.py", line 85, in populate
    2018-07-14 14:18:53,936:     app_config = AppConfig.create(entry)
    2018-07-14 14:18:53,936: 
    2018-07-14 14:18:53,936:   File "/usr/local/lib/python3.5/dist-packages/django/apps/config.py", line 90, in create
    2018-07-14 14:18:53,936:     module = import_module(entry)
    

    有什么建议吗?我遗漏了什么?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Harun ERGUL    6 年前

    问题是在这种情况下,应用程序没有使用虚拟环境。如果我们看下面这行,我们会看到 /usr/local/... . 所以应用程序正在使用 pythonanywhere.com 默认环境。

    File "/usr/local/lib/python3.5/dist-packages/django/core/wsgi.py", line 13,
    

    这意味着我们在我们的 virtualenv 对默认服务器没有影响。在 pythonanywhere.com网站 有virtualenv菜单,请确保在此菜单中输入正确的路径信息。

        2
  •  2
  •   Glenn    6 年前

    pythonanywhere上的默认pip是针对python 2.7的,因此您将模块安装到了错误的python版本中(您的web应用程序使用的是3.5)。使用PIP3.5安装模块。