google Colaboratory opencv xfeatures2d_SURF - python-3.x

!pip install opencv-python && pip install opencv-contrib-python
Requirement already satisfied: opencv-python in
/usr/local/lib/python3.6/dist-packages Requirement already satisfied:
numpy>=1.11.3 in /usr/local/lib/python3.6/dist-packages (from
opencv-python) Requirement already satisfied: opencv-contrib-python in
/usr/local/lib/python3.6/dist-packages Requirement already satisfied:
numpy>=1.11.3 in /usr/local/lib/python3.6/dist-packages (from
opencv-contrib-python)
import cv2
cv2.xfeatures2d_SURF
AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d_SURF'
Why does not it work?

xfeatures2d_SURF is not a proper function.
Try: cv2.xfeatures2d.SURF_create() to test your installation.
Here is an tutorial showing how to use SURF in python.

Related

Anaconda installation

I've installed anaconda on ubuntu, and after that I am unable to install packages it has with pip for every other project in which I use pyCharm. cmd says that when I want to import one of its packages:
Requirement already satisfied: pandas in /home/michal/anaconda3/lib/python3.7/site-packages (0.23.4)
Requirement already satisfied: python-dateutil>=2.5.0 in /home/michal/anaconda3/lib/python3.7/site-packages (from pandas) (2.7.3)
Requirement already satisfied: pytz>=2011k in /home/michal/anaconda3/lib/python3.7/site-packages (from pandas) (2018.5)
Requirement already satisfied: numpy>=1.9.0 in /home/michal/anaconda3/lib/python3.7/site-packages (from pandas) (1.15.1)
Requirement already satisfied: six>=1.5 in /home/michal/anaconda3/lib/python3.7/site-packages (from python-dateutil>=2.5.0->pandas) (1.11.0)
I am a new linux user, just started learning. Did I install anaconda wrong or do I have to somehow use pip only within venv for each particular package install?
I've tried to find answer online, I want to be able to use pip for packages again.

pip in a (mini)conda environment installs packages in the global site-packages directory

As the answer to this question indicates, pip in a conda-env should install a package in the site-packages directory of env's python. In my case, however, pip (launched within the env) is trying to install in the global python site-packages.
Additionally, the installation in the site-packages of my global python is not so very clean either: newly installed packages fall under /Users/massimopinto/Library/Python/3.9/site-packages/Users/massimopinto/Library/Python/3.9/site-packages , that is the directory is nested within itself, so I need to manually move the new package to make it usable.
Would a re-configuration of pip work? Any advice would be much appreciated.
pip in use (21.2.4):
(spekpy) massimopinto#MacBook-Air-2 spekpy_release % which pip
/Users/massimopinto/opt/miniconda3/envs/spekpy/bin/pip
(env's) pip configuration:
(spekpy) massimopinto#MacBook-Air-2 spekpy_release % pip config list
freeze.timeout='10'
global.editor='vim'
global.timeout='60'
home's pip configuration:
(spekpy) massimopinto#MacBook-Air-2 spekpy_release % cat ~/.pip/pip.conf
[global]
timeout = 60
[freeze]
timeout = 10
running on a MacOS Monterey 12.0.1, conda 4.10.3, Python 3.9.7.
Edited
As at a suggestion by #flyingteller, the output of
/Users/massimopinto/opt/miniconda3/envs/spekpy/bin/python -m pip install . >> spekpy-install.log
is
Processing /Users/massimopinto/Progetti Git/spekpy_release
Requirement already satisfied: scipy in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from spekpy==2.0.6) (1.7.1)
Requirement already satisfied: matplotlib in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from spekpy==2.0.6) (3.4.3)
Requirement already satisfied: pyparsing>=2.2.1 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (3.0.4)
Requirement already satisfied: numpy>=1.16 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (1.21.2)
Requirement already satisfied: kiwisolver>=1.0.1 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (1.3.1)
Requirement already satisfied: python-dateutil>=2.7 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (2.8.2)
Requirement already satisfied: cycler>=0.10 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (0.11.0)
Requirement already satisfied: pillow>=6.2.0 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from matplotlib->spekpy==2.0.6) (8.4.0)
Requirement already satisfied: six>=1.5 in /Users/massimopinto/opt/miniconda3/envs/spekpy/lib/python3.9/site-packages (from python-dateutil>=2.7->matplotlib->spekpy==2.0.6) (1.16.0)
Building wheels for collected packages: spekpy
Building wheel for spekpy (setup.py): started
Building wheel for spekpy (setup.py): finished with status 'done'
Created wheel for spekpy: filename=spekpy-2.0.6-py3-none-any.whl size=66391250 sha256=86962e10ec6182d7f0522dcf0d3e1d264b9d16d3659d5d5af038631d99bd8039
Stored in directory: /private/var/folders/qs/hcv45zhn46q0p6xwndbc51fw0000gn/T/pip-ephem-wheel-cache-etx845ts/wheels/c3/93/d0/2db997ad51d9b10f0b0acac3a1f27240cca3d41a8cac3265ab
Successfully built spekpy
Installing collected packages: spekpy
Successfully installed spekpy-2.0.6
but the installation is still in
/Users/massimopinto/Library/Python/3.9/site-packages/Users/massimopinto/Library/Python/3.9/site-packages/spekpy

Why I can't import Flask?

I followed the Flask instructions and I successfully installed Flask by using Command Prompt.
C:\Users\DELL>py -3 -m pip install flask
C:\Users\DELL>py -3 -m pip install flask
Requirement already satisfied: flask in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (1.1.2)
Requirement already satisfied: itsdangerous>=0.24 in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (from flask) (1.1.0)
Requirement already satisfied: Jinja2>=2.10.1 in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (from flask) (2.11.2)
Requirement already satisfied: Werkzeug>=0.15 in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (from flask) (1.0.1)
Requirement already satisfied: click>=5.1 in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (from flask) (7.1.2)
Requirement already satisfied: MarkupSafe>=0.23 in c:\users\dell\appdata\local\programs\python\python39\lib\site-packages (from Jinja2>=2.10.1->flask) (1.1.1)
However when I use PyCharm to import flask, it doesn't recognize flask.
ModuleNotFoundError: No module named 'flask'
The most probable problem is py command is related with python2 and flask module is installed in your python3 site-packages. So try to execute explicitly with python3 as :
python3 app.py

pip3 install inside venv is throwing "Requirement already satisfied"

I'm trying to get to grips with working inside a virtual environment, I ran the following:
python3 -m venv env
source env/bin/activate
pip3 install flask
And it throws this error:
Requirement already satisfied: flask in /usr/local/lib/python3.7/site-packages (1.1.1)
Requirement already satisfied: Werkzeug>=0.15 in /usr/local/lib/python3.7/site-packages (from flask) (1.0.1)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.7/site-packages (from flask) (2.11.1)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python3.7/site-packages (from flask) (7.1.1)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.7/site-packages (from flask) (1.1.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python3.7/site-packages (from Jinja2>=2.10.1->flask) (1.1.1)
I'm on OSX and I actually have Python 3.8 installed. I'm a bit lost on this.
I remember way back, around a year ago when I was first installing Python 3.x I had quite a bit of trouble and I feel I might have messed something up during the install or something.
Requirement satisfied means all its dependencies are installed already.

How to install and run gym box2d environment in google colab?

I have followed this method to run a box2d enviroment without rendering it in google colab,
!apt-get install python-box2d
!pip install box2d-py
!pip install gym[Box_2D]
import gym
env = gym.make("BipedalWalker-v2")
but its showing this
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-box2d is already the newest version (2.3.2~dfsg-2).
0 upgraded, 0 newly installed, 0 to remove and 28 not upgraded.
Requirement already satisfied: box2d-py in /usr/local/lib/python3.6/dist-packages (2.3.8)
Requirement already satisfied: gym[Box_2D] in /usr/local/lib/python3.6/dist-packages (0.15.3)
WARNING: gym 0.15.3 does not provide the extra 'box_2d'
Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from gym[Box_2D]) (1.12.0)
Requirement already satisfied: pyglet<=1.3.2,>=1.2.0 in /usr/local/lib/python3.6/dist-packages (from gym[Box_2D]) (1.3.2)
Requirement already satisfied: numpy>=1.10.4 in /usr/local/lib/python3.6/dist-packages (from gym[Box_2D]) (1.17.3)
Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from gym[Box_2D]) (1.3.1)
Requirement already satisfied: cloudpickle~=1.2.0 in /usr/local/lib/python3.6/dist-packages (from gym[Box_2D]) (1.2.2)
Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from pyglet<=1.3.2,>=1.2.0->gym[Box_2D]) (0.16.0)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-10-62ca95674145> in <module>()
3 get_ipython().system('pip install gym[Box_2D]')
4 import gym
----> 5 env = gym.make("BipedalWalker-v2")
3 frames
/usr/local/lib/python3.6/dist-packages/gym/envs/registration.py in load(name)
16 mod_name, attr_name = name.split(":")
17 mod = importlib.import_module(mod_name)
---> 18 fn = getattr(mod, attr_name)
19 return fn
20
AttributeError: module 'gym.envs.box2d' has no attribute 'BipedalWalker'
I also tried to install this box2d from pip pip install Box2D but its not installing in colab. How do we install and run a box2d gym enviroment in google colag?
I was able to get it working with !pip3 install box2d-py==2.3.8.
Please create a new Colab notebook, Click on File -> New notebook. On a new (fresh) Colab execute these:
!pip3 install box2d-py
!pip3 install gym[Box_2D]
import gym
env = gym.make("BipedalWalker-v3")
The gym is installed by default in the new notebook however you have to install the box2d-py and gym[Box_2D]. Please close the current notebook if you have encountered the error. Simply use a new notebook (VERY IMPORTANT) and go on with above procedure of pip install. It will work!

Resources