" No module named 'cv2' " but it is installed - python

I have installed the whl file with include opencv + contribution because i want to use the SIFT-algorithm. I installed it with pip in my conda environment, so when i tipp in "conda list" it shows me
"opencv-python 3.4.5+contrib "
But when I try to run "ModuleNotFoundError: No module named 'cv2'". My Project is also using the correct environment
import cv2
sift = cv2.xfeatures2d.SIFT_create()
ModuleNotFoundError: No module named 'cv2'

1)Delete all your existing opencv installation
2) Reinstall it again in that way (python 3)
python -m pip install opencv-python
3) And Voila!
> import cv2
> sift = cv2.xfeatures2d.SIFT_create()

There is 2 possible problems about ModuleNotFoundError: No module named 'cv2'.
find the cv2.so file and move it into usr/local/lib/python3.6/site-packages
find / -name 'cv2.so' possible output /usr/local/lib/python3.6/site-packages/
cd /usr/local/lib/python3.6/site-packages/
cp cv2.so /usr/lib/python3.6/site-packages/
then quit the terminal and rerun it.
vi /etc/profile edit the profile and add export PYTHONPATH=/usr/local/lib/python3.6/site-packages:$PYTHONPATH to the last line.

Probably you are loading python2 while the conda environment you used contains a python3 executable, or viceversa.
Which executable you are using to execute those lines? If it's something in a system directory, it doesn't have the same libraries you see with a conda list.
You can prepend which on linux to get the absolute path of an executable, e.g. which python or which python3.
See also the official conda documentation: https://conda.io/docs/user-guide/getting-started.html#managing-python
Personally I don't like conda, because it tends to mess up too many things, and I usually install everything with pip/virtualenvs or with a pipenv.

My device:
OS Ubuntu 22.04 LTS
package python-is-python3 installed.
The problem and solution which worked for me was related to the location of the packages and Python installation. I had it locally:
/home/me/.local/lib/python3.10/site-packages/cv2
By running with me#mypcname:~/folder-of-cvtest$ python cvtest.py it worked.
But if running sudo python cvtest.py Exactly same error.
So it could be happening the opposite, or Python and Packages be installed on different folders.

Related

pip install cmd but modules not found in PyCharm

So, I have Pycharm and pip up to date, and after installing any module with pip install, no matter where I install it (/current_python_project) or somewhere else (\python310\lib\site-packages)...
When I pip install let's say pandas, and then try
import matplotlib.pyplot as plt
console says: ModuleNotFoundError: No module named 'matplotlib'
This happens with other packages here the package is installed but modules or ".py" files form installation, are not found.
Thank you!
I tried installing in different folders and changing virtual environment setting to all possible combinations but yet, I still can't fix the problem...
Checked docents of "answers" to similar problems
Also I checked one more answer here it says I have to install in env/bin/python but I searched for all folders containing "env" and apparently I don't have this folder....
Please try the following instructions:
python -m pip install – upgrade pip
pip install pandas
pip install matplotlib
Or you can try following instructios:
open cmd, and type "where python". Once you have opened the Python folder, browse and open the Scripts folder and copy its location. Also verify that the folder contains the pip file.Now open the Scripts directory in the command prompt using the cd command and the location that you copied previously.Now install the library using pip install matplotlib command. If it looks complicated please follow this link, they show with illustrations: https://blog.finxter.com/fixed-modulenotfounderror-no-module-named-matplotlib/

Import numpy can't be resolved ERROR When I already have numpy installed

I am trying to run my chatbot that I created with python, but I keep getting this error that I don't have numpy installed, but I do have it installed and whenever I try to install it it tells me that it is already installed. The error reads "ModuleNotFoundError: No module named 'numpy'"
I don't understand what the problem is, why is it always throwing this error? even for nltk and tensorflow even though I have them all installed.
How can I resolve this issue?
Here is a screen shot when i install numpy:
Here is a screen shot of the error:
I fixed the problem by deleting a python folder that was in the root directory of C:/ which caused installing the package to be ignored and not be installed in the correct directory which is in C:/Users/
This is not a very correct decision, but I had same problem with another libraries. You can be using different python interpreters (in my case it was anaconda) => libraries can be installed in different folders
It was a temporarly solution, but I created new venv
pip install virtualenv
mkdir python-virtual-environments && cd python-virtual-environments
python3 -m venv env
source env/bin/activate # activate venv
There you can install all packages for your project, and deactivate it (with deactivate) command

How to fix "ImportError: DLL load failed" while importing win32api

I'm setting up an autoclicker in Python 3.8 and I need win32api for GetAsyncKeyState but it always gives me this error:
>>> import win32api
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: DLL load failed while importing win32api: The specified module could not be found.
I'm on Windows 10 Home 64x. I've already tried
pip install pypiwin32
And it successfully installs but nothing changes. I tried uninstalling and re-installing python as well. I also tried installing 'django' in the same way and it actually works when I import django, so I think it's a win32api issue only.
>>> import win32api
I expect the output to be none, but the actual output is always that error ^^
Solved
If you are working in a miniconda on conda environment. You could just install pywin32 using conda instead of pip.
This solved my problem:
conda install pywin32
For my case, install and reinstall pywin32 doesn't help. After copied the two files from [installation directory of Anaconda]\Lib\site-packages\pywin32_system32 to C:\Windows\System32, it works.
My environment is python 3.8 in miniconda. The two files are pythoncom38.dll and pywintypes38.dll.
For me, it worked by downgrading my pywin32 from version 227 to version 224. Just type the following command on any shell in administrator mode:
pip install --upgrade pywin32==224
Run Scripts\pywin32_postinstall.py -install in an Admin command prompt
ref: https://github.com/mhammond/pywin32/issues/1431
edit: User #JoyfulPanda gave a warning:
Running this script with admin rights will also copy pythoncom37.dll, pywintypes37.dll (corresponding to the pywin32 version), into C:\WINDOWS\system32, which effectively overwrites the corresponding DLL versions from Anaconda already there. This later causes problem when openning (on Windows) "Start Menu > Anaconda3 (64-bit) > Anaconda Prompt (a_virtual_env_name)". At least Anaconda 2019.07 has pywin32 223 installed by default. Pywin32 224 may work, but 225-228 causes problem for Anaconda (2019.07)
The answer is in jupyter notebook github.
https://github.com/jupyter/notebook/issues/4980
conda install pywin32 worked for me. I am using conda distribution and my virtual env is using Python 3.8
This happens when Lib\site-packages\pywin32_system32 is not in the list of directories to search for DLL (PATH environment variable).
pywin32 (or one of its dependencies) adds this path at runtime to the PATH variable. If this is failing, or another component is overriding the PATH after it's been set by pywin32, you will get the given error (ImportError: DLL load failed while importing win32api).
You can try to extend the PATH variable in the shell before starting Python.
On Windows:
set PATH=c:\...\Lib\site-packages\pywin32_system32;%PATH%
If that doesn't work, then the PATH maybe overridden within the Python program at runtime. Add the following line to your program just before pywin32 is used to verify its value:
import os
print(os.environ["PATH"])
As a last resort, you can extend the PATH variable before pywin32 is loaded:
Windows:
os.environ["PATH"] = r"c:\...\pywin32_system32;" + os.environ["PATH"]
Unix like:
os.environ["PATH"] = r"/.../pywin32_system32:" + os.environ["PATH"]
According to pywin32 github you must run
pip install pywin32
and after that, you must run
python path\to\python\Scripts\pywin32_postinstall.py -install
taken from here. worked for me!
For python 3.8.3, pywin32==225 worked for me, the existing pywin32==228 was uninstalled.
So try this
pip install pywin32==225
Hope it solves your problem
What helped me was
installing relevant binary from github.com/mhammond/pywin32
executing the following commands in the x64 command line:
cd C:\ProgramData\Anaconda3\Scripts
python pywin32_postinstall.py -install
As of February 2022, downgrading tot version 303 of pywin32 solves the issue.
Check your pywin32 version:
pip show pywin32
Downgrade to version 300:
pip install pywin32==300 --upgrade
Restart Jupyter
pypiwin32 is an outdated distribution. Uninstall it and install pywin32:
pip uninstall pypiwin32
pip install pywin32
You should try some (or all) of my methods:
Run terminal and use this command: conda install pywin32.
Copying the two files from [installation directory of Anaconda]\Lib\site-packages\pywin32_system32 (there are only 2 files in this folder) and paste to C:\Windows\System32.
In my case, the two files are pythoncom38.dll and pywintypes38.dll (it means my Python version is 3.8).
Downgrading the version of pywin32 to 225 or lower by this command: pip install pywin32==225.
Windows 10, Python 3.8, PyWin32 v.302 using Anaconda
Here is what worked for me
Open an elevated command prompt activate environment
Windows Key
Type cmd
Right click Command Prompt and click Run as Administrator
conda activate [ENVIRONMENT]
Navigate to the environment you installed PyWin32 on, works if pip install or conda install is used
cd C:\Users\[USER]\anaconda3\envs\[ENVIRONMENT]\Scripts
Run the post install script that was added when installing PyWin32
python pywin32_postinstall.py -install
Yes it works!
C:\ProgramData\Anaconda3>py Scripts\pywin32_postinstall.py -install
Parsed arguments are: Namespace(destination='C:\ProgramData\Anaconda3\Lib\site-packages', install=True, quiet=False, remove=False, silent=False, wait=None)
Copied pythoncom38.dll to C:\WINDOWS\system32\pythoncom38.dll
Copied pywintypes38.dll to C:\WINDOWS\system32\pywintypes38.dll
Registered: Python.Interpreter
Registered: Python.Dictionary
Registered: Python
-> Software\Python\PythonCore\3.8\Help[None]=None
-> Software\Python\PythonCore\3.8\Help\Pythonwin Reference[None]='C:\ProgramData\Anaconda3\Lib\site-packages\PyWin32.chm'
Registered help file
Pythonwin has been registered in context menu
Creating directory C:\ProgramData\Anaconda3\Lib\site-packages\win32com\gen_py
Can't install shortcuts - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Python 3.8' is not a folder
The pywin32 extensions were successfully installed.
version 228 works best for me in Windows 10
pip uninstall pywin32
pip install pywin32==228
Jupyter notebook github has the issue mentioned in the question. There are multiple solution proposed.
What worked for me was this answer with additional first step:
pip uninstall pywin32
pip install pywin32
python [environment path]/Scripts/pywin32_postinstall.py -install
In the referecne to this comment question
where is this Lib\site-packages\pywin32_system32 path?
Go to C directory, Users , your username , anaconda3 ,Lib, site-packages,pywin32_system32. you can find easily.
C:\Users\HP\anaconda3\Lib\site-packages\pywin32_system32
Currently there are two copies of the pythoncom*.dll files in directories.
Pycharm is using the copy in directory C:\Windows\System32:-
C:\Windows\System32
C:\Users\sharandi\AppData\Local\Programs\Python\Python38\Lib\site-packages\pywin32_system32
The files are: -
pythoncom38.dll - 559 KB
pywintypes38.dll - 138 KB
I downloaded and installed the latest Microsoft Visual C++ 2015-2019 package from
(https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads). You may have to restart your machine after installation.
Then from conda command prompt activate your virtual environment and go to the Scripts folder of the virtual environment(>cd "path of venv"/Scripts)
Once you are in the Scripts folder run the following command
"python pywin32_postinstall.py -install"
This will install the required dll's to the appropriate folders in the virtual environment.
And that's how I got it to work!
I have had this issue with Jupyter in Anaconda. After following all listed advices, without clear understanding what I am doing, nothing worked for me except one thing. I have updated indexes of Anaconda environments and I've got my kernels back. The screenshot
This problem for me occured when recreating venv from requirements.txt. This venv was initially created on Ubuntu Linux and then recreated on Win 10.
I had to clear the environment and install everyrhing again manually. Did the work for me.
Solved
I tried uninstalling and reinstalling pywin32 multiple ways, but the problem persisted. The following way solved the problem:
pip install --upgrade jupyter_client
pip install --upgrade pywin32==224 --force-reinstall
hi this question i'm solve as below:
1.check directory C:\Windows\System32, is exist these file?
pythoncom37.dll pywintypes37.dll or pythoncom36.dll pywintypes36.dll
the number is python version .
if the file is exist delete it.
and then this issue will be solve.
You should go into the folder {python folder path}/Lib/site-packages/pywin32_system32 and copy pythoncomXX.dll and pywintypesXX.dll to the folder C:/Windows/System32.
If you are using a virtual environment, then {python folder path} is the python folder used by the virtual environment, otherwise it is the folder where the global python is located. For example, I use conda to create a virtual environment called Frameless-Window, and install the package pywin32 in this virtual environment, then the {python folder path} on my computer should be D:/Anaconda/envs/Frameless-Window.
You should be very careful when copying the dll to the System32 folder. if there are dlls with the same name in the folder and pywin32 in your other virtual environment may use these two dlls, replacing the original dlls may cause this virtual environment had the same ImportError problem. After testing, I found that the dlls of pywin32 of version 227, 228 and 300 can be replaced with each other, and the dlls of pywin32 of versions 301, 302, 303 and 304 can also be replaced with each other, but if the dll of version 300 is replaced with the dll of version 301, it will raise ImportError.
If you are launching a virtual env from another virutal env. Makes sure to install pywin32 in both envs. Lost way too many time with this....
This worked for me
conda install -c anaconda pywin32
Its about venv or virtualenv version problem about pywin32
check version of both of version of pywin32 (pip install pywin32)
than run this command on active venv
pip install --upgrade pywin32==305
Maybe a bit late but it could help:
What happens is that you have two versions of pywin32 installed (One in the local enviroment and the other one in the main python installation)
To solve that uninstall both versions with:
conda uninstall pywin32
pip uninstall pywin32
And inside your virtual conda enviroment also execute:
conda uninstall pywin32
or
pip uninstall pywin32
finally in your virtual enviroment / conda enviroment install with pip install pywin32 or conda.
The answers telling that it works with x version is because the version they install are compatible with the pywin32 dlls they have in system32.
Adding a support link: "DLL load failed: The specified procedure could not be found" when importing win32api or win32com
I had the same issue after reinstalling anaconda 3.9 instead of 3.7 and placing inside the former env folder.
I launched the Anaconda Prompt application then typed in
cd C:\Users\%USERNAME%\anaconda3\Scripts
activate.bat
I suspect it updated the pythoncomXX.dll and pywintypesXX.dll used by anaconda.
That is Simple. After Many Tries, I Discovered a Solution. Just Type the Following Commands in Windows 10. I am Using Pycharm, Python Version 3.9
Note:- This Works for All Python Versions !!
pip uninstall pywin32
pip install pywin32
That is Simple.
if That Does Not Work, Then Try:-
pip uninstall win32api
pip install win32api
After Trying These Commands, Try the first 2 commands again.
If It is Still Not Coming, Then Comment This Question What the problem is !!

GDBM doesn't work with Python 3.6 and anaconda

I use Python 3.6 in an anaconda environment.
I installed GDBM with
conda install gdbm
The installation went well, however I can't use dbm.gnu from Python:
ModuleNotFoundError: No module named '_gdbm'
It seams that Python doesn't include the _gdbm module, even if GDBM is actually installed.
Is this a known problem? How can I fix it?
Thanks!
I faced this issue as well. This is probably not the ideal way, but it works.
I did the following to resolve this -
sudo apt-get install python3-gdbm
This installs the gdbm library for python3, however since apt-get and anaconda are two independent package managers; this isn't going to solve your problem. We primarily do this to get a hold of the .so shared library which we will place in the right folder in our anaconda installation. Next we find the location of the .so file using -
dpkg -L python3-gdbm
This gives us the following output -
/.
/usr
/usr/lib
/usr/lib/python3.5
/usr/lib/python3.5/lib-dynload
/usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so
/usr/share
/usr/share/doc
/usr/share/doc/python3-gdbm
/usr/share/doc/python3-gdbm/copyright
/usr/share/doc/python3-gdbm/changelog.Debian.gz
/usr/share/doc/python3-gdbm/README.Debian
The file we require is here -
/usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so
Copy this file to the lib-dynload folder of your anaconda installation; for me this was -
cp /usr/lib/python3.5/lib-dynload/_gdbm.cpython-35m-x86_64-linux-gnu.so /home/username/anaconda3/lib/python3.5/lib-dynload
Note, that this will only work if the directory the .so was copied to is in python's sys.path. To find the correct directory to copy to, assuming you're inside the activated conda environment, run:
python -c 'import sys; [print(x) for x in sys.path if "lib-dynload" in x]'
For example, in my case, the directory was inside the environment path and not in the anaconda main library. ~/anaconda3/envs/myenvname/lib/python3.7/lib-dynload
Now try importing the module in python -
from _gdbm import *
or testing it from the command line:
python -m dbm.gnu
This should have fixed your problem.
Please note, mine is an Ubuntu-16.06 OS and my python version is 3.5.2.
The .so file may work with python3.6 as well, if not you can try installing python3.6-gdbm, although a quick search for ubuntu 16.04 didn't give me any results.
Although the question is for Python3, I got here while trying to install gdbm on Python2 so I post my answer as it may be useful for others. The correct command was conda install python-gdbm. Although conda install gdbm went through, the module couldn't be imported. As per here, however, this may not work for Python3.
The answer from #stason worked for me with a little modification regarding the destination route for the .so file. I copied the files to the lib-dynload folder in the environment to make this work.
Instead of: /home/username/anaconda3/lib/python3.X/lib-dynload
I used: /home/username/anaconda3/envs/**your_env**/lib/python3.X/lib-dynload
Doing the same but pointing to this folder worked for me. I hope this helps anyone with the issue.
Thanks!

Package installed by Conda, Python cannot find it

I try to install Theano by Anaconda. It works, but when I enter the python -i, import theano shows No module named 'theano'. Do I need to switch another interpreter of Python, how? Also, for the packages installed by conda, if I don't double install them, can I find in Python? How is Python related to Python by Anaconda? Thanks!!!
I had have a similar issue, trying to install folium. If you are using the Anaconda:
When you install using conda install -c conda-forge folium, the package will be placed in:
./anaconda3/envs/[name env]/lib/python3.7/site-packages/folium
When you install using pip (with a anaconda env activated), pip install folium, the package will be placed in:
./anaconda3/lib/python3.7/site-packages/folium
Python use first the sites-packages as the target directory of manually built python packages. When you build and install python packages from source (using distutils, probably by executing python setup.py install ), you will find the installed modules in site-packages by default.
In this case you have two places: /anaconda3/lib/python3.7/site-packages/ and /anaconda3/envs/[name env]/lib/python3.7/site-packages/.
First the modules will be available as default in /anaconda3/lib/python3.7/site-packages/. Sometimes (and I really don't know why) the modules inside sites-packages conda env are not available to import automatically without export the PATH.
So, to solve this issue, you have 2 options:
Installing using pip install folium and import folium (don't need install by conda install), or
After conda install , run conda init, close the terminal and open a new one. So, try to import again.
Here are some tips about use a pip in a conda-environment.
You can refer to a specific version of python by using the following at the first line of your .py file
This is for python 2.7
#!/usr/bin/env python2.7
This is for python 3
#!/usr/bin/env python3
As other users already pointed out you need to check if your module is included in your sys path. Use code:
import sys
print(sys.path)
If not you can include this in your sys.path by using the command:
sys.path.append('/path/to/the/folder/of/your/module/file')
or place it in default PYTHONPATH itself.
Other great answers:
https://stackoverflow.com/a/19305076/5381704
The problem is that in the code editor you are using, you are running the default interpreter. Based on your code editor, change the python interpreter to the conda interpreter and it will work.
In my case that happened because conda screwed up the environment variables. Instead of using env-specific python and pip, it used the globally installed ones.
Solution:
conda deactivate your-env
conda activate your-env
In my workstation, I was able to solve No module named <module name> error using two different ways.
First method, I solved this temporarily by:
(1) Open a Terminal
(2) $ conda activate <Conda environment name>
(3) $ export PYTHONPATH=/home/<user name>/anaconda3/envs/<Conda environment name>/lib/<Python package version>/site-packages:$PYTHONPATH
It is a temporary solution. Whenever you run your virtual environment, you have to do this.
My runtime environment:
    OS: Unbuntu 18.04
    Conda version: 4.8.2
    Conda-build version: 3.18,11
    Python version 3.7.6.final.0
Second method, I removed the
alias python=/usr/bin/python3.6 line in bashrc file.
Somehow this line blocks using Python tools installed in Anaconda Virtual Environment if the Python version in the Virtual Environment is different.

Categories

Resources