django - Pandas + Django + mod_wsgi + virtualenv

标签 django mod-wsgi virtualenv pandas

Pandas 正在生产 “模块”对象没有属性“核心”django 下导入时和 mod_wsgi在虚拟环境中。它在 django 下运行良好虚拟环境中的开发服务器。

其他模块,例如:numpy 没有问题,所以我认为这意味着虚拟环境设置正确,mod_wsgi .任何意见,将不胜感激。

分期.wsgi

import os
import sys
import site

PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
site_packages = os.path.join(PROJECT_ROOT, 'env/openportfolio/lib/python2.7/site-packages')
site.addsitedir(os.path.abspath(site_packages))
sys.path.insert(0, PROJECT_ROOT)
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
os.environ['DJANGO_SETTINGS_MODULE'] = 'openportfolio.settings_staging'

import pandas #triggers error
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

错误
Traceback (most recent call last):
  File "/usr/local/web/django/www/staging/openportfolio/apache/staging.wsgi", line 22, in <module>
    import pandas
  File "/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages/pandas/__init__.py", line 12, in <module>
    from pandas.core.api import *
  File "/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages/pandas/core/api.py", line 6, in <module>
    import pandas.core.datetools as datetools
  AttributeError: 'module' object has no attribute 'core'  

python 路径
['/usr/local/web/django/www/staging/openportfolio',
 '/usr/local/web/django/www/staging',
 '/Library/Python/2.7/site-packages/pip-1.0.2-py2.7.egg',
 '/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg',
 '/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages/pip-1.0.2-py2.7.egg',
 '/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages/matplotlib-1.1.0-py2.7-macosx-10.7-intel.egg',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
 '/Library/Python/2.7/site-packages',
 '/usr/local/web/django/www/staging/env/openportfolio/lib/python2.7/site-packages']

最佳答案

所以事实证明这是一个 Python 路径顺序问题。通过在我的 wsgi 配置文件中运行 sys.path.reverse(),代码现在运行。

由于 Python 路径的顺序,必须首先在虚拟环境中导入内置的 OS X numpy 库,这会导致问题。

'RuntimeError: 根据 API 版本 6 编译的模块,但这个版本的 numpy 是 4' 是我在原始帖子中遗漏的错误行,它可能有助于调试答案。

关于django - Pandas + Django + mod_wsgi + virtualenv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766400/

相关文章:

Django queryset TruncMonth 输出格式问题

python - 如何在从 manage.py 中定义的环境变量导入设置的项目上运行 django-pytest

python - DRF auth_token : "non_field_errors": [ "Unable to log in with provided credentials."

python - 我可以在 Python 2.7 上运行一些 mod_wsgi 应用程序,而将其余应用程序保留在 Python 2.5 上吗?

python - Django / celery : autodiscover_tasks error: NoneType object not iterable.

python - Django/mod_wsgi/Apache - mod_wsgi 没有使用它编译的 Python 版本 - "ModuleNotFoundError: No module named ' math'"

python - 更新 : No module named virtualenvwrapper 后 python 和 virtualenvwrapper 出现问题

python - 为什么 virtualenv 从我的 shell 继承 $PYTHONPATH?

python - OS X 上的 Virtualenv 安装

mysql - 带有 ModWSGI 和 flask 的 SQLAlchemy 中的 "Unknown MySQL Server"