带有 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”