Python package OpenCV installation issue on mac Sierra - python

I am facing issues while installing OpenCV package on Mac Sierra (10.12.1)
I followed all the steps mentioned in the link :
http://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/
I got issues related to QTKit.h file not being present. This is a known issue and so I followed several solutions but none worked.
I then followed all possible solutions present here :
https://github.com/opencv/opencv/issues/6913
&
http://stackoverflow.com/questions/39590741/fatal-error-qtkit-qtkit-h-file-not-found-when-i-build-opencv-on-mac
But none of them seem to work (or so I guess)
I cannot see the location where OpenCV has been installed.
I did try to check in the TERMINAL by doing an import and it works without issues.
IMPORT CV2
But when I run my code on the python IDE (PyCharm), I get the error for CV2 module not found.
I also tried searching in Pycharm's IDE if I could see a CV2, but i couldn't.
Please help!

I ran into the same issues installing OpenCV with Python 2.7 following Adrian's tutorial on pyimage. I got around the issue with compiling on macOS Sierra by switching to the ‘pr7266’ branch for opencv and switching to the ‘master’ branch for opencv_contrib
$ git clone https://github.com/Itseez/opencv.git
$ cd opencv
$ git fetch https://github.com/opencv/opencv.git +pull/7266/head:pr7266
$ git checkout pr7266 # instead of 3.0.0 or 3.1.0
See instructions at - https://github.com/opencv/opencv/pull/7266
I've never used PyCharm before so can't help there, hope this helps though!

Related

Webots using Python 2.7 when Python 3.x is default

On my mac I switched python versions to 3.7 and when using the command python -V in the terminal it shows that it successfully switched. Webots still shows that the deprecated 2.7 version is being used. When I checked the command, it says python
I've messed with creating a runtime.ini as well, which seemed to work but doesn't recognize webot modules like "Controller," or "Robot." Though I can't find anything about what the module names would be and how I could include them in the Options for the runtime.ini with the -m flag.
Any help would be appreciated, thanks
I was able to solve this by setting the absolute path, shown in the image link, to a valid version of Python 3 in the Webots->Preferences command field. I had a slight error with NumPy not coming with this version but was easily fixable by doing <absolute-path-to-version-specified> -m pip install NumPy
I hope this is helpful to others as it was the last thing I tried and cost me some time.
Webots preferences screenshot example

I am receiving and import error when trying to import cv2 in python (Ubuntu 18.04)

First of all, thank you very much for reading.
Some days ago I installed Python3 (3.6.9) and opencv 3.4.10 in an Ubuntu 18.04 desktop system. I needed to downgrade opencv to 3.4.0 after some compilation problems (not related to python3), so I removed opencv 3.4.10 by using the sudo make uninstall order, and tested that it was uninstalled as if I tried importing it in python I got the following error:
libopencv_hfs.so.3.4: cannot open shared object file: no such file or directory
I thought installing 3.4.0 version would solve the problem but now that it's installed, when I try to import it in a python3 script I am getting the same error. I think this error must be related to the way python3 references the import files. I think it's still pointing to the uninstalled version of 3.4.10, but I can not find the way to change it.
Could someone please help me with this issue?
Thank you very much.
Andrés.
Using a virtualenv would resolve the issue. Check this out on how to use : Installing packages using pip and virtual environments
Once you're done installing requirements in the virtualenv, run your python script there only to use the specified versions.
Hello again and thank you for you answers.
I have been able to solve the problem. Thought I had uninstalled the previous version of opencv, there was still a cv2.sofile in my python virtual environment path, and it had not been replaced by the new cv2.so, so python tried to import the old one instead of the new one.
The old cv2.so (the one that was referenced when I imported cv2 in python) was here --> ~/.virtualenvs/cv/lib/python3.6/site-packages/cv2.so
The cv2.so I wanted to be used when imported was here --> /usr/local/lib/python3.6/site-packages/cv2/cv2.so so I replaced the one in the virtual environment path with the one in the lib directory and that did the trick :)

Importing OpenCV with python 2.7 in Virtualenv and PyCharm

I am struggling with installing opencv for python 2.7.11 on OSX for almost three days now.
After some failures, I accomplished a first success by following the instructions here. So my basic setup is python 2.7.11 running from ~/.virtualenvs/cv_env/bin/python and I have a cv2.so located in ~/.virtualenvs/cv/lib/python2.7/site-packages/.
So good so far. Using source ~/.virtualenvs/cv_env/bin/activate, I can activate the virtualenv and than use import cv2. For some reasons, this does not work always. From time to time, I have to deactivate first and than reactivate (any guesses?).
Next, I wanted to use opencv in PyCharm. Under "preferences - Project interpreter", I selected the virtualenv interpreter and this is also working. I can import other moduals like numpy and pandas (previously installed into the vortualenv using pip). But for some reasons, I am not able to import opencv (import cv2). It always gives me
ImportError: No module named cv2
So my question is, why I am able to import opencv in terminal (at least sometimes) but not in PyCharm. Any ideas are welcomed.
Best,
Fabian
Your cv2.so located in a different directory. And you activating from another directory. I mean cv_env and cv.

When Installing PIL, I get a SyntaxError

When I try and use easy_install PIL it will give me the error:
File "setup.py", line 182
print "--- using Tcl/Tk libraries at", TCL_ROOT
^
SyntaxError: invalid syntax
It is extremely annoying and I have tried installing it from a package as well. I've downloaded Imaging-1.1.7 and it gives the same error. I am trying to get the Image module in Python 3.4.1. I've tried installing Pillow 2.4 but it doesn't show up in the module list when I type pydoc3.4 modules and none of the applications even detect it's existence. Please help because I am getting desperate. I am on Mac OS X 10.8.4 with Python 3.4.1.
That syntax for print only exists in Python 2.x, where print is a statement. However, it was removed entirely in Python 3.x when print became a function.
This means that your version of PIL is incompatible with Python 3.x. So, you now have two options:
Get a version of PIL that is compatible with Python 3.x. This question has more information on that.
Downgrade to Python 2.x.
I have also tried brew install PIL and pip install PIL and I encountered the same issue, because I'm using python 3.4. But I just solved the problem today. This is thanks to Ned Deily's answer above, which i need to figure out first how to do since i'm not well experienced with pip stuffs.
So to do it, you need to head over to https://pypi.python.org/pypi/Pillow/ and click the latest version. (found version 2.6.1 at the time of this writing). You should see something like Pillow-(version).tar.gz (found Pillow-2.6.1.tar.gz). Just right click it and copy link address if you're using chrome browser and type in the following in your terminal.
pip install https://pypi.python.org/packages/source/P/Pillow/Pillow-2.6.1.tar.gz#md5=4b77fb0c81bbe0c8bf90c6eea960e091
that should do the trick

How can I update Python on Mac OS and have RubyGems use the new version?

I am having serious issues trying to download the "therubyracer" gem. I think the problem is that I do not have a working libv8 library to create the gem.
I think I do not have a working libv8 because my RubyGems keeps trying to use "Python 2.5.6", which is too old to gem install libv8. I tried countless ways to update the Python that RubyGems uses, however, I cannot figure it out.
Here is what I have done thus far. I went to http://www.python.org/download/releases/3.3.2/ and downloaded "(Mac OS X 64-bit/32-bit Installer (3.3.2) for Mac OS X 10.6 and later 2.)".
Upon completion of the download, I ran:
gem install libv8 --version 3.11.8.17
Yet, I still received the same error. I noticed the output still said:
"Using Python 2.5.4"
Despite downloading a newer Python version, it is not being used. So how do I change the version of Python that the "gem" command uses? I searched and discovered "virtualenv," which appears to be a good Python manager, however I am a bit at a dead end now. Any help or suggestion?
If libv8 uses the python command from the command line, this should apply:
If you do not care what python2 is installed, you can do this in the command line:
type python # this gives you the path of the python command
python is /usr/bin/python
type python2.7
python is /usr/bin/python2.7
Then you can copy one over the other
cp /usr/bin/python2.7 /usr/bin/python
You can safely copy python2.7 there because it is compatible with older versions.
Suggestions?

Categories