带有 numpy 的 Django,错误:无法导入名称多数组

Posted

技术标签:

【中文标题】带有 numpy 的 Django,错误:无法导入名称多数组【英文标题】:Django with numpy, Error:cannot import name multiarray 【发布时间】:2015-01-31 19:18:11 【问题描述】:

我正在使用 mod_wsgi 在面向 Python 3.4 的虚拟环境中运行 Django。我有 numpy 1.9,但出现此错误:

**Request Method:   GET
Django Version: 1.7.1
Exception Type: ImportError
Exception Value:    
cannot import name multiarray
Exception Location: /var/www/mapsite/lib/python3.4/site-packages/numpy/core/__init__.py in <module>, line 6
Python Executable:  /usr/bin/python
Python Version: 2.7.5
Python Path:    
['/var/www/mapsite/lib/python3.4/site-packages',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages/PILcompat',
 '/usr/lib/python2.7/dist-packages/gtk-2.0',
 '/usr/lib/pymodules/python2.7',
 '/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode',
 '/var/www/mysite']
Server time:    Wed, 3 Dec 2014 09:07:24 +0000**

请多指教

【问题讨论】:

等一下,为什么我看到了:Python Version: 2.7.5 不知道...我运行 apache 就是这样 你是否设置了虚拟环境的 Python 路径? @user903772 同样的问题,你有没有解决这个问题? 你是如何安装 virtualenv 的?使用 pip 或 pip3..virtualenv 尚未为 Python 3 打包,所以我们必须使用 pip3 【参考方案1】:

首先,您需要确保您处于安装 numpy、Django 等的正确环境中。根据您提供的信息,我假设您有一个 virtualenv 并且正在开发您的应用程序。如果假设正确,您可以按照以下步骤操作。

您不需要 Apache。

    获取您的 virtualenv,source /path/to/env/bin/activate 并转到您的项目目录。 确保您拥有所需的所有软件包,pip freeze 将向您展示,如有必要,请安装。 从 Django 运行内置服务器,python manage.py runserver 转到您的浏览器:http://localhost:8000

瞧!

【讨论】:

是的,你是对的,但只使用 manage.py 来启动 web 服务器。我有同样的错误信息,但是在启动 httpd 之后(我确定我有一个 virtualenv)。谁能解释一下? “你不需要 Apache”是一个强有力的肯定。我的意思是,如果您不想让网站投入生产,是的,不需要 Apache。但如果你想让网站成为“生产”,那么一定要远离runserver【参考方案2】:

您应该调整您的 Apache 和/或 mod_wsgi 配置。

在您显示的行中,可以看到正在使用 Python 2.7,但正在与 Python 3.4 的虚拟环境中的包组合。这是完全错误的,应该解决。

要解决这个问题,最简单的方法是使用以下 python 二进制文件:

/var/www/mapsite/bin/python3.4

而不是默认的

/usr/bin/python

在这些情况下使用显式虚拟环境二进制文件是可行的方法(至少,它在很多类似的情况下对我有用)。

【讨论】:

以上是关于带有 numpy 的 Django,错误:无法导入名称多数组的主要内容,如果未能解决你的问题,请参考以下文章

Jupyter Notebook 导入错误:无法从“pandas.compat.numpy”导入名称“np_version_under1p17”

Numpy 构建失败,无法导入多数组

导入 numpy 模块时出现 Python 错误 [重复]

ImportError:无法导入名称 NUMPY_MKL

无法导入numpy,DLL加载失败:找不到指定的模块

PySpark worker在安装时无法导入包