2013-12-11 5 views
3

My django/uwsgi/python падает с ошибкой сегментации, потому что uWSGI, по-видимому, загружает другую версию Python.uWSGI запускает неправильную версию Python

Я только что установил uWSGI, используя пипс. В этом SO question рассматривается решение, которое включает компиляцию из исходного кода, но я бы хотел этого избежать.

mihai$ /usr/bin/python 
Python 2.7.5 (default, Aug 25 2013, 00:04:04) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
Segmentation fault: 11 

mihai$ /usr/local/bin/python 
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
>>> 

Любые предложения?

Я надеялся на какое-то --flag, что может сказать uWSGI какой версии питона использовать ...

ответ

2

К сожалению, если питон компилируются против неправильной один вы должны перекомпилировать его. Поскольку он напрямую связан с Python, он был создан, если вы используете другой символ, который не будет соответствовать.

В комментариях вы упомянули, что вы использовали pip, но не получили правильную версию Python. Возможно, вы используете неправильный пип? Например, на Ubuntu у вас есть Python 2.7 и 3.3. Существует пип-2.7 и пип-3.3. Если вы используете virtualenv, убедитесь, что вы устанавливаете с помощью pip из virtualenv.

+0

Спасибо, что ответили. Что вы подразумеваете под перекомпиляцией - строите с нуля вместо пипса? Я попытался переустановить с помощью пипса без везения - есть ли другое обходное решение, такое как это? Может быть, если я удалю оскорбительную версию python, а затем переустановит uwsgi с помощью pip? – bluemihai

+0

Объясните, как у вас несколько версий Python. Это поможет выяснить правильное решение. –

+0

Ну, теперь у меня есть один, тот, который пришел с OSX Mavericks. Я удалил тот, который я установил с доморощенным, что также вызвало крах. Я удалил и переустановил uwsgi - ту же проблему. Теперь у меня есть только одна версия python, но uwsgi, похоже, все еще подключен к другому. И по версии я не имею в виду цифры, они оба были 2.7.6. Но Homebrew был скомпилирован с помощью компилятора Apple, а OSX по умолчанию скомпилирован с помощью GCC: Python 2.7.6 (v2.7.6: 3a1db0d2747e, Nov 10 2013, 00:42:54) [GCC 4.2.1 (Apple Inc. build 5666) (точка 3)] на darwin – bluemihai

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