Как исправить «Нет модуля с именем cv2» в AWS EC2 Linux, импорт из командной строки - PullRequest
0 голосов
/ 03 июня 2019

Я развертываю веб-приложение на экземпляре AWS EC2 и получаю сообщение об ошибке.Логи показывают, что у меня не установлен cv2.ModuleNotFoundError: No module named 'cv2'

Однако, если я запускаю ssh в своем экземпляре и запускаю python из оболочки, я могу импортировать без проблем.

https://drive.google.com/drive/folders/1-w3BN9pMAhkiDM40fODCPdjvU1Nx71UT?usp=sharing

Я уже установил opencv на сервер Linux и проверил, доступен ли он для импорта.

Из моего файла application.py

import cv2

File "/opt/python/current/app/localize.py", line 9, in 

, но из командной строки:

>>> import cv2
>>> cv2.__version__
'4.1.0'

Я ожидал, что импорт будет работать, поскольку он работает из командной строки.

Ответы [ 3 ]

1 голос
/ 03 июня 2019

Как подсказал @rayryeng, я запускаю Python 3.x из Elastic Beanstalk и Python 2.x из командной строки.Я исправил это, установив правильную версию cv2 для Python 3 и включив следующее перед моим импортом:

import sys

sys.path.append('/usr/local/lib64/python3.6/site-packages')
0 голосов
/ 03 июня 2019

Проверить, доступен ли ваш пакет python для пользователя root / admin, но недоступен для пользователя, пытающегося запустить код? Если вы можете импортировать этот модуль в EC2, то он установлен, но более важно, для какого пользователя он установлен и для какой версии. Первая попытка : chmod 755 для всех каталогов в пути python для вашего Python по умолчанию и посмотрите, работает ли он (это предоставит разрешения для всех библиотек импорта в Python) Если ваш скрипт работает на Python3.7, а по умолчанию используется Python2.7, вам, возможно, придется сделать следующее: sudo pip3 установить opencv-python

способ проверки версии по умолчанию:

which python ---Will provide default python path and version

which pip ---- Will Provide default PIP details
0 голосов
/ 03 июня 2019

Попробуйте это:

cd 
wget https://github.com/opencv/opencv/archive/3.2.0.zip
virtualenv project
source project/bin/activate
pip install numpy
mkdir local
unzip opencv-3.2.0.zip
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_SHARED_LIBS=NO -D WITH_FFMPEG=ON -D BUILD_opencv_python2=ON -D CMAKE_INSTALL_PREFIX=~/local ~/opencv-3.2.0
make
make install
cp ~/local/lib/python2.7/site-packages/cv2.so ~/project/lib64/python2.7/site-packages/

Подробнее читайте здесь: Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...