我正在尝试在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)
有什么建议吗?我缺少了什么?
答案 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安装模块。