ImportError: No module named 'django_select2'

ImportError: No module named 'django_select2'

我正在尝试在 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 个文件夹。

然而,当我 运行 我的应用程序时,它会在我的 error.log

中生成 ImportError: No module named 'django_select2'

这是我的部分 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)

有什么建议吗?我缺少什么?

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

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

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

PythonAnywhere 上的默认 pip 适用于 Python 2.7,因此您将模块安装到错误版本的 Python(您的网络应用程序使用的是 3.5) .使用 pip3.5 安装您的模块。