Я думал, что использую самую последнюю версию numpy (1.10) По крайней мере, когда я запускаю pip list
, я вижу numpy (1.10.4)
. Однако, когда я получаю в интерпретатор питона и введитеКак остановить numpy_1.8 от маскирования numpy_1.10?
import numpy
numpy.__version__
Я вижу
'1.8.2'
Я ожидаю, что 1.8.2 был установлен через некоторое время после версии 1.10, потому что я недавно установил некоторые новые пакеты и я теперь, когда я запускаю код, который используется для работы, я получаю эту ошибку:
RuntimeError: module compiled against API version a but this version of numpy is 9
в OpenCV 2.4.8: module compiled against API version 9 принятый ответ отметил, что команда NumPy относится к версии 1. 8 как numpy версии 9. Итак, я думаю, что изначально я использовал numpy_1.10 и каким-то образом установил numpy_1.8.
Мой первый вопрос: как это произошло и как я могу защититься от него?
Я также хочу знать, как я могу остановить numpy_1.8 от блокировки 1.10. Моя первоначальная мысль заключалась в том, чтобы удалить numpy_1.8 с помощью apt-get, но это устранило бы многие другие пакеты, зависящие от 1.8.
У меня возникнет соблазн просто использовать rm, чтобы избавиться от версии 1.8, но я беспокоюсь, что эти другие пакеты будут затронуты.
Моя вторая мысль - изменить sys.path, чтобы убедиться, что версия 1.10 видна до версии 1.8. Пока я не использую PYTHONPATH. Есть ли способ изменить sys.path, не используя PYTHONPATH? Это разумный подход?
OK - Я полагаю, что использование virtualenv, или Docker, поможет мне, но мне все же нужно выяснить, что делать сейчас. – user1245262