2014-12-03 3 views
7

Я запускаю Django в виртуальной среде, ориентированной на Python 3.4, используя mod_wsgi. У меня есть NumPy 1,9, и я получаю эту ошибку:Django с numpy, Ошибка: не могу импортировать имя multiarray

**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** 

Plesae совет

+0

Подождите, почему я вижу: 'Python Версия: 2.7.5'? – Marcs

+0

Не знаю ... Я запускаю apache, и это так – user903772

+0

Вы установили путь Python вашей виртуальной среды? – shellbye

ответ

0

Прежде всего, необходимо убедиться, что вы находитесь в правильном месте, где вы установлен NumPy, Джанго и т.д. базы на условии информации, я предполагаю, что у вас есть virtualenv и в настоящее время разрабатываю приложение. Если предположение верно, вы можете выполнить следующие действия.

Для этого вам не нужен Apache.

  1. Источник: virtualenv, source /path/to/env/bin/activate и перейдите к директории проекта.
  2. Убедитесь, что у вас есть весь пакет, который вам нужен, pip freeze покажет вам, при необходимости установите.
  3. Запустите встроенный в сервер с Django, python manage.py runserver
  4. Перейти в ваш браузер: http://localhost:8000

вуаля!

+0

Да, вы правы, но только используете manage.py для запуска веб-сервера. У меня такое же сообщение об ошибке, но после запуска httpd (я уверен, что у меня есть virtualenv). Кто-нибудь может это объяснить? – FavorMylikes

+0

«Вам не нужен Apache» - это сильное подтверждение. Я имею в виду, если вы не хотите, чтобы сайт был на производстве, да, нет необходимости в Apache. Но если вы хотите, чтобы сайт был «производством», то определенно убежать от «runerver». – MariusSiuram

0

Вы должны настроить конфигурацию Apache и/или mod_wsgi.

В строках, которые вы показываете, видно, что используется Python 2.7, но сочетается с пакетами из виртуальной среды Python 3.4. Это совершенно неправильно и должно быть рассмотрено.

Чтобы исправить это, самый простой способ заключается в использовании следующей питона бинарного:

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

вместо стандартного

/usr/bin/python 

Использование явного виртуального бинарного среды является путь в тех (по крайней мере, он работал для меня во многих подобных сценариях).

Смежные вопросы