首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Django部署时导入模块

无法在Django部署时导入模块
EN

Stack Overflow用户
提问于 2013-08-07 12:40:13
回答 1查看 1.5K关注 0票数 1

我正在尝试在我的服务器上部署一个Django项目,我正在部署激活了virtualenv的Django。

下面是我从apache2日志中得到的错误

代码语言:javascript
复制
[Wed Aug 07 04:25:19 2013] [error]     __import__(name)
[Wed Aug 07 04:25:19 2013] [error]   File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/project/access_and_security/urls.py", line 31, in <module>
[Wed Aug 07 04:25:19 2013] [error]     from openstack_dashboard.dashboards.project.access_and_security.\\
[Wed Aug 07 04:25:19 2013] [error]   File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/project/access_and_security/security_groups/urls.py", line 24, in <module>
[Wed Aug 07 04:25:19 2013] [error]     from openstack_dashboard.dashboards.project.access_and_security.\\
[Wed Aug 07 04:25:19 2013] [error]   File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/project/access_and_security/security_groups/views.py", line 37, in <module>
[Wed Aug 07 04:25:19 2013] [error]     from openstack_dashboard.dashboards.project.access_and_security.\\
[Wed Aug 07 04:25:19 2013] [error]   File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/project/access_and_security/security_groups/forms.py", line 35, in <module>
[Wed Aug 07 04:25:19 2013] [error]     from horizon.utils.validators import validate_ip_protocol
[Wed Aug 07 04:25:19 2013] [error] ImportError: cannot import name validate_ip_protocol

这是我得到的完整的回溯

代码语言:javascript
复制
Environment:


Request Method: GET
Request URL: http://192.168.1.150:8060/

Django Version: 1.4.5
Python Version: 2.7.3
Installed Applications:
('openstack_dashboard',
 'django.contrib.contenttypes',
 'django.contrib.auth',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'compressor',
 'horizon',
 'openstack_dashboard.dashboards.project',
 'openstack_dashboard.dashboards.admin',
 'openstack_dashboard.dashboards.settings',
 'openstack_auth')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'horizon.middleware.HorizonMiddleware',
 'django.middleware.doc.XViewMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  89.                     response = middleware_method(request)
File "/usr/lib/python2.7/dist-packages/django/middleware/locale.py" in process_request
  21.         check_path = self.is_language_prefix_patterns_used()
File "/usr/lib/python2.7/dist-packages/django/middleware/locale.py" in is_language_prefix_patterns_used
  54.         for url_pattern in get_resolver(None).url_patterns:
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in url_patterns
  328.         patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/core/urlresolvers.py" in urlconf_module
  323.             self._urlconf_module = import_module(self.urlconf_name)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/var/www/projects/openstack-horizon/openstack_dashboard/urls.py" in <module>
  38.     url(r'', include(horizon.urls))
File "/usr/lib/python2.7/dist-packages/django/conf/urls/__init__.py" in include
  25.     patterns = getattr(urlconf_module, 'urlpatterns', urlconf_module)
File "/usr/lib/python2.7/dist-packages/django/utils/functional.py" in inner
  184.             self._setup()
File "/usr/lib/python2.7/dist-packages/django/utils/functional.py" in _setup
  248.         self._wrapped = self._setupfunc()
File "/usr/lib/python2.7/dist-packages/horizon/base.py" in url_patterns
  715.             return self._urls()[0]
File "/usr/lib/python2.7/dist-packages/horizon/base.py" in _urls
  746.                     url(r'^%s/' % dash.slug, include(dash._decorated_urls)))
File "/usr/lib/python2.7/dist-packages/horizon/base.py" in _decorated_urls
  456.                     url(r'^%s/' % panel.slug, include(panel._decorated_urls)))
File "/usr/lib/python2.7/dist-packages/horizon/base.py" in _decorated_urls
  230.         urlpatterns = self._get_default_urlpatterns()
File "/usr/lib/python2.7/dist-packages/horizon/base.py" in _get_default_urlpatterns
  83.                 urls_mod = import_module('.urls', package_string)
File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py" in import_module
  35.     __import__(name)
File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/admin/instances/urls.py" in <module>
  24. from openstack_dashboard.dashboards.admin.instances.views import AdminIndexView
File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/admin/instances/views.py" in <module>
  31. from openstack_dashboard.dashboards.admin.instances.tables import \
File "/var/www/projects/openstack-horizon/openstack_dashboard/dashboards/admin/instances/tables.py" in <module>
  25. from horizon.utils.filters import parse_isotime

Exception Type: ImportError at /
Exception Value: cannot import name parse_isotime

这是我的虚拟主机

代码语言:javascript
复制
<VirtualHost *:8060>
        ServerAdmin jonathan.c@advitor.com
        ServerName automation-cloud.com
        ServerAlias www.automation-cloud.com
        WSGIScriptAlias / var/www/projects/openstack-horizon/horizon.wsgi

        Alias /static/ /var/www/projects/openstack-horizon/openstack_dashboard/static/
        <Location "/static/">
            Options -Indexes
        </Location>
</VirtualHost>

这是我的horizon.wsgi文件

代码语言:javascript
复制
import os
import sys
import site

# Add the site-packages of the chosen virtualenv to work with
site.addsitedir('/var/www/projects/openstack-horizon/.venv/local/lib/python2.7/site-packages')

# Add the app's directory to the PYTHONPATH
sys.path.append('/var/www/projects/openstack-horizon')
#sys.path.append('/var/www/projects/openstack-horizon/horizon')
sys.path.append('/var/www/projects/openstack-horizon/openstack_dashboard')
#/usr/lib/python2.7/dist-packages/horizon/
sys.path.append('/usr/lib/python2.7/dist-packages/horizon')
os.environ['DJANGO_SETTINGS_MODULE'] = 'openstack_dashboard.settings'

# Activate your virtual env
activate_env=os.path.expanduser("/var/www/projects/openstack-horizon/.venv/bin/activate_this.py")
execfile(activate_env, dict(__file__=activate_env))

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

我检查了所有东西,地平线应用程序在settings.py上

这个Django项目在运行python manage.py runserver virtualenv activated时运行良好。

EN

回答 1

Stack Overflow用户

发布于 2013-08-07 15:13:55

Apache不是针对您的虚拟环境的。检查错误跟踪的第一行

代码语言:javascript
复制
/usr/lib/python2.7/dist-packages/django/core/handlers/base.py

它指向默认的python位置,而不是您的虚拟环境。尝试此操作以包含虚拟环境路径。

代码语言:javascript
复制
sys.path.append('/var/www/projects/openstack-horizon/.venv/local/lib/python2.7/site-packages')

问候

Ansh Jain

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18094799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档