ImportError:没有名为“ django_select2”的模块

时间:2018-07-14 14:34:25

标签: django pythonanywhere

我正在尝试在pythonanywhere上部署django应用程序。我已经安装了该应用程序所需的所有软件包。我还在应用程序中使用django_select2可重复使用的应用程序。

首先,我激活虚拟环境并通过以下命令安装django_select2

$ 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_select2也在安装列表中。我还在虚拟环境中检查site-packages。还有django_select2文件夹。

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

这是我的error.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 个答案:

答案 0 :(得分:3)

问题是在这种情况下应用程序未使用虚拟环境。如果我们看下面的行,我们将看到/usr/local/...。因此,应用程序正在使用pythonanywhere.com默认环境。

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

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

答案 1 :(得分:2)

PythonAnywhere上的默认点适用于Python 2.7,因此您一直在将模块安装到错误的Python版本中(您的Web应用使用3.5)。使用pip3.5安装模块。