uWSGI запускает неправильную версию Python


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

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

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

Есть предложения?

Я надеялся на какой-то -- флаг, который может сказать uWSGI, какую версию python использовать...

1   4   2013-12-12 02:20:18

1 ответ:

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

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