Dlaczego cv2.so brak po zainstalowaniu opencv?
Dzisiaj zainstalowałem opencv 2.4.4 na Ubuntu 12.10
Ale import cv2 nie działa.
root@-:~# python
Python 2.7.3 (default, Sep 26 2012, 21:53:58)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named cv2
>>>
As I understand cv2.so pudło, więc python nie widzi gdzie opencv
root@-:~# find / -name "cv.py"
/root/opencv-2.4.4/modules/python/src2/cv.py
root@-:~# find / -name "cv2.so"
root@-:~#
Moje kroki konfiguracji wyglądają jak
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.4/OpenCV-2.4.4a.tar.bz2
tar -xjf OpenCV-2.4.4a.tar.bz2
cd opencv-2.4.4
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
make && make install
echo "/usr/local/lib" >> /etc/ld.so.conf.d/opencv.conf
ldconfig
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" >> /etc/bash.bashrc
echo "export PKG_CONFIG_PATH" >> /etc/bash.bashrc
Gdzie jest cv2.so ? I dlaczego go nie było ?
9 answers
Jak zainstalować opencv (cv2) z powiązaniami Pythona w Linuksie-Ubuntu/Fedora
-
Install gcc, g++/gcc-c++, cmake (apt-get lub yum, w przypadku yum use gcc-c++)
apt-get install gcc, g++, cmake
Downlaod najnowszy opencv z strony openCV
-
Untar it with
tar -xvf opencv-*
-
Wewnątrz folderu untarred utwórz nowy folder o nazwie
release
mkdir release cd release
(lub dowolnej nazwy folderu) i uruchom to polecenie w it
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_NEW_PYTHON_SUPPORT=ON -D BUILD_EXAMPLES=ON ..
..
pobierze pliki z folderu parents i przygotuje system do instalacja na platformie. -
W folderze release Uruchom
make
-
Po około 2-3 minutach obróbki wykonanej po jej zakończeniu
sudo make install
-
Eksport ścieżki Pythona
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
To jest to, teraz idź do Pythona i spróbuj
>>> import cv2
Nie powinieneś otrzymywać żadnego komunikatu o błędzie.
Testowane na Pythonie 2.7, powinien być praktycznie podobny do Pythona 3.x.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-12 08:31:07
Instaluję python-opencv
aby rozwiązać mój problem w Ubuntu 14.04
sh
sudo apt-get install python-opencv
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-15 09:01:25
UĹźywajÄ ... C Raspbiana na rasberry pi miaĹ 'em problem, Ĺźe MODUĹ' ten nie zostaĹ ' znaleziony rĂłwnieĹź. Miałem trzy wersje Pythona (2.6, 2.7 i 3.2), upewnij się, że używasz python2. 7. Możesz to sprawdzić uruchamiając:
python --version
Stwierdziłem, że w moim przypadku po prostu musiałem zainstalować python-dev.
sudo apt-get install python-dev
Nie musiałem usuwać i ponownie instalować opencv, starałem się tego uniknąć, wiedząc, że ukończenie procesu zajmuje kilka godzin.
Po zainstalowaniu python-dev poszedłem do pliku, w którym zbudowałem opencv, dla mnie było to "~ / opencv-2.4.9 / release" i powiedziałem mu, aby
sudo make
Po tym udało mi się znaleźć cv2.so plik. szukanie za pomocą:
find / -name "cv2.so"
W tym momencie znalazłem kilka plików. następnie uruchomiłem tylko python, aby zobaczyć, czy może znaleźć "importuj" je
python
>>> import cv2
Nie powinno być żadnych błędów.
>>> import numpy
Słyszałem, że numpy był niezbędny do uruchomienia opencv. Stamtąd uważam, że powinieneś być dobry, aby uruchomić swój skrypt, jeśli nie pojawią się żadne błędy. Mam nadzieję, że to pomoże.
Strona, która mi pomogła jest wymieniona...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-15 01:23:06
Miałem podobny problem, gdy ręcznie skonfigurowałem CMAKE na OSX El Capitan. Dałem tę dodatkową opcję:
PYTHON2_PACKAGES_PATH='lib/python2.7/site-packages'
Który zatrzymał cv2.so w tym pakiecie od instalacji. Wydaje się, że instaluje się poprawnie w moim folderze build po usunięciu go:
PYTHON2_EXECUTABLE='/usr/bin/python2.7'
PYTHON2_INCLUDE_DIR='/usr/include/python2.7'
PYTHON2_LIBRARY='/usr/lib/libpython2.7.dylib' # TODO - Fix for linux
PYTHON2_NUMPY_INCLUDE_DIRS='/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/include' # Todo - Fix for linux
cd $OPENCV_DIR
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$OPENCV_INSTALL_PATH \
-D WITH_CUDA=OFF \
-D BUILD_opencv_python2:BOOL=ON \
-D PYTHON2_EXECUTABLE=$PYTHON2_EXECUTABLE \
-D PYTHON2_INCLUDE_DIR=$PYTHON2_INCLUDE_DIR \
-D PYTHON2_LIBRARY=$PYTHON2_LIBRARY \
-D PYTHON2_NUMPY_INCLUDE_DIRS=$PYTHON2_NUMPY_INCLUDE_DIRS \
-D INSTALL_PYTHON_EXAMPLES:BOOL=ON \
..
make -j8
make install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-03 19:58:41
Mam taki problem w moim OS X El Capitan.
Wykonałem instrukcje wymienione w ten tutorial. Nie uzyskał pomyślnej działającej instalacji i miał powyższy błąd braku cv2.so plik w wymaganych folderach wymienionych oraz w wierszu python
.
W końcu zorientowałem się, że używanie wirtualnej konfiguracji Pythona sprawiało kłopoty. Więc Odinstaluj za pomocą
pip install virtualenv virtualenvwrapper
Then ran
brew link opencv
Który wyrzucił błędy.
A następnie wykonaj poniższe kroki aby rozwiązać problem.
Pierwszy bieg
brew link opencv
Jeśli to daje błąd, spróbuj zautomatyzowanej diagnozy
brew doctor
brew doctor
podaje listę problemów, które mogą prowadzić do błędów w procesie instalacji.
Aby naprawić problemy w przypadku kolidujących plików, Uruchom, Aby uzyskać listę wszystkich działań, które zostaną wykonane przez nadpisanie bez ich rzeczywistego wykonania.
Aby wyświetlić listę wszystkich plików, które zostaną usunięte:
brew link --overwrite --dry-run opencv
Po którym następuje ten bieg, który będzie wykonaj nadpisanie, zakładając, że uważasz, że działania wykonywane przez nadpisanie doprowadzą Twój system do bardziej stabilnego stanu .
Aby wymusić link i nadpisać wszystkie sprzeczne pliki:
brew link --overwrite opencv
Ten samouczek jest prostszą alternatywą.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-14 15:20:41
Żaden z powyższych nie działał dla mnie; jestem w Ubuntu 16.04 na instancji ec2 i miałem zainstalowaną anacondę, więc po prostu użyłem
conda install opencv
zarówno dla moich instalacji conda2 jak i 3
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-21 20:50:49
Wszystkie powyższe odpowiedzinie zadziałały dla mnie , jednak po całym dniu zmagań w końcu rozwiązałem ten problem.
Mieć cv2.so, potrzebujemy:
- co najmniej zainstalowany python 2 lub 3. dlatego ludzie mówią:
sudo apt-get install python-dev
. Ale to jest niepotrzebne , w moim przypadku używam Anaconda python . (istnieje wiele sposobów na zainstalowanie Pythona)- numpy jest również koniecznością. niezależnie od tego, jakiego Pythona używasz, upewnij się, że go pobrałeś. W moim przypadku używam anaconda numpy. (anaconda ma już zainstalowany, dla zwykłego Pythona użyj
pip install numpy
)
Aby powiedzieć camke, gdzie jest ścieżka, Weź moje polecenie jako przykład:
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules \
-D PYTHON2_EXECUTABLE='/home/parallels/anaconda2/bin/python' \
-D PYTHON2_LIBRARY='/home/parallels/anaconda2/lib/python2.7' \
-D PYTHON2_NUMPY_INCLUDE_DIRS='/home/parallels/anaconda2/lib/python2.7/site-packages/numpy/core/include' \
-D BUILD_EXAMPLES=ON ..
Dla python3,powinieneś (używam Pythona anaconda, więc wszystko podlinkowałem do anacondy):
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-3.3.1/modules \
-D PYTHON3_EXECUTABLE='/home/test/SoftWare/anaconda3/bin/python3.6m' \
-D PYTHON_INCLUDE_DIR='/home/test/SoftWare/anaconda3/include/python3.6m' \
-D PYTHON3_LIBRARY='/home/test/SoftWare/anaconda3/lib/libpython3.6m.so' \
-D PYTHON3_NUMPY_INCLUDE_DIRS='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages/numpy/core/include' \
-D PYTHON3_PACKAGES_PATH='/home/test/SoftWare/anaconda3/lib/python3.6/site-packages' ..
Jedna rzecz do zapamiętania !!! zanim wejdziesz do cmake ... 1. wyczyść folder budowania, 2. tylko raz camke! w przeciwnym razie nie możesz Zmień * * PYTHON3_LIBRARY: nie**...(to chyba błąd)
Wiem, że mogą być jakieś bezużyteczne argumenty, ale jestem zmęczony, próbując je wyczyścić. Oto zrzut ekranu z moich informacji o druku cmake. zrzut ekranu mojego cmake infoWidać wyraźnie, że tylko python2 może wygenerować cv2.so python3 nie może! (Nie można wygenerować wrapperów Python3).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-08 03:49:40
Natknąłem się na podobny problem. Po zagłębianiu się w to trochę więcej natknąłem się na post, w którym wspomniano, że pakiet python-numpy
jest wymagany. Tak więc odinstalowałem opencv, uruchamiając następujące polecenie w folderze build (w Twoim przypadku folder release):
dpkg -r build
Potem usunąłem wszystkie pliki opencv. Zainstalowałem python-numpy
i python-dev
tą komendą:
sudo apt-get install python-dev python-numpy
Następnie, po ponownym uruchomieniu skryptu instalacyjnego, polecenie import cv2
w konsoli Pythona nie daje mi żadnego błędu i jest odpowiednio importowane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-14 19:35:44
W moim przypadku był to problem z cmake
:
sudo apt install software-properties-common
sudo add-apt-repository ppa:george-edison55/cmake-3.x
sudo apt update
Jeśli cmake
nie jest jeszcze zainstalowany:
sudo apt install cmake
Jeśli cmake
jest już zainstalowany:
sudo apt upgrade
Aby uzyskać więcej informacji, zobacz ten link .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-01-16 23:38:07