So I am trying to get hmmlearn working in Jupyter, and I have come across an error while installing Hmmlearn using pip. I have tried this solution, but it didn't work.
It seems to me that pip does install the _hmmc file, but it does so incorrect. instead it has the name
_hmmc.cp35-win_amd64
and the file extesion is .PYD, instead of .c
When I run the code to import it, I get this error :
ImportError Traceback (most recent call last)
<ipython-input-1-dee84c3d5ff9> in <module>()
7 import os
8 from pyAudioAnalysis import audioBasicIO as aB
----> 9 from pyAudioAnalysis import audioAnalysis as aA
C:\Users\gover_000\Documents\GitHub\Emotion-Recognition-Prototype\pyAudioAnalysis\audioAnalysis.py in <module>()
15 import audioFeatureExtraction as aF
16 import audioTrainTest as aT
---> 17 import audioSegmentation as aS
18 import audioVisualization as aV
19 import audioBasicIO
C:\Users\gover_000\Documents\GitHub\Emotion-Recognition-Prototype\pyAudioAnalysis\audioSegmentation.py in <module>()
16 import sklearn
17 import sklearn.cluster
---> 18 import hmmlearn.hmm
19 import cPickle
20 import glob
C:\Users\gover_000\Anaconda3\envs\python2\lib\site-packages\hmmlearn\hmm.py in <module>()
19 from sklearn.utils import check_random_state
20
---> 21 from .base import _BaseHMM
22 from .utils import iter_from_X_lengths, normalize
23
C:\Users\gover_000\Anaconda3\envs\python2\lib\site-packages\hmmlearn\base.py in <module>()
11 from sklearn.utils.validation import check_is_fitted
12
---> 13 from . import _hmmc
14 from .utils import normalize, log_normalize, iter_from_X_lengths
15
ImportError: cannot import name _hmmc
I don't know why pip just doesn't install it correctly, even when I tried to use --no-cache-dir
Edit: So i figured out what the problem was. my active python enviroment was python 3.5, as i was manually transferring the installed files to my enviroment, it failed because i had the wrong version.
I had to change my active python enviroment: using activate <my_enviroment name>
after that i could just use pip to install it again and it worked this time.
Looking at your error message I guess that you have downloaded the hmmlearn package from GIT. Have you tried using a wheel (*.whl) file instead? You can download one from here. Check out which version fits your python installation.
Then use:
pip install <the_wheel_that_corresponds_to_your_python_version>.whl
Hope it helps.
So i figured out what the problem was. my active python enviroment was python 3.5, as i was manually transferring the installed files to my enviroment, it failed because i had the wrong version. I had to change my active python enviroment: using activate <my_enviroment_name> after that i could just use pip to install it again and it worked this time.
not sure if it could be helpful to anyone but I installed hmmlearn as follows in my Jupyter Lab:
import sys
!{sys.executable} -m pip install hmmlearn
Related
Python 3.9.12.
Windows 10.
jupyterlab 3.3.2.
Import tensorflow
When I try to import Tensorflow, I get the following 'tensorflow.python.eager.polymorphic_function' error.
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
Cell In [44], line 1
----> 1 import tensorflow
File ~\OD13\TFODCourse\tfod13\lib\site-packages\tensorflow\__init__.py:45
42 from tensorflow.python import tf2 as _tf2
43 _tf2.enable()
---> 45 from ._api.v2 import __internal__
46 from ._api.v2 import __operators__
47 from ._api.v2 import audio
File ~\OD13\TFODCourse\tfod13\lib\site-packages\tensorflow\_api\v2\__internal__\__init__.py:14
12 from . import eager_context
13 from . import feature_column
---> 14 from . import function
15 from . import graph_util
16 from . import mixed_precision
File ~\OD13\TFODCourse\tfod13\lib\site-packages\tensorflow\_api\v2\__internal__\function\__init__.py:8
3 """Public API for tf.__internal__.function namespace.
4 """
6 import sys as _sys
----> 8 from tensorflow.python.eager.polymorphic_function.polymorphic_function import Function
9 from tensorflow.python.eager.polymorphic_function.quarantine import defun_with_attributes
ModuleNotFoundError: No module named 'tensorflow.python.eager.polymorphic_function'
My workflow is based on this tutorial: https://www.youtube.com/watch?v=yqkISICHH-U
I found the following answer, but I'm not understanding how to implement the TFLite Authoring Tool to solve this problem:
https://stackoverflow.com/questions/74177865/tensorflow-python-eager-polymorphic-function-no-module-error-on-imports
To answer my own question:
I created a conda environment and installed an older version of Python (3.7) in it and that seems to have fixed the problem.
I found these links to be helpful:
How to downgrade the Python Version from 3.8 to 3.7 on windows?
conda install downgrade python version
Jupyter Notebook - Cannot Connect to Kernel
How to find the version of jupyter notebook from within the notebook
pip command to downgrade jupyter notebook
How to check python anaconda version installed on Windows 10 PC?
https://towardsdatascience.com/get-your-conda-environment-to-show-in-jupyter-notebooks-the-easy-way-17010b76e874
I have recently installed imblearn package in jupyter using
!pip show imbalanced-learn
But I am not able to import this package.
from tensorflow.keras import backend
from imblearn.over_sampling import SMOTE
I get the following error
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-20-f19c5a0e54af> in <module>
1 # from sklearn.utils import resample
2 from tensorflow.keras import backend
----> 3 from imblearn.over_sampling import SMOTE
4
5
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/__init__.py in <module>
32 Module which allowing to create pipeline with scikit-learn estimators.
33 """
---> 34 from . import combine
35 from . import ensemble
36 from . import exceptions
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/combine/__init__.py in <module>
3 """
4
----> 5 from ._smote_enn import SMOTEENN
6 from ._smote_tomek import SMOTETomek
7
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/combine/_smote_enn.py in <module>
8 from sklearn.utils import check_X_y
9
---> 10 from ..base import BaseSampler
11 from ..over_sampling import SMOTE
12 from ..over_sampling.base import BaseOverSampler
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/base.py in <module>
14 from sklearn.utils.multiclass import check_classification_targets
15
---> 16 from .utils import check_sampling_strategy, check_target_type
17
18
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/utils/__init__.py in <module>
5 from ._docstring import Substitution
6
----> 7 from ._validation import check_neighbors_object
8 from ._validation import check_target_type
9 from ._validation import check_sampling_strategy
~/.virtualenvs/p3/lib/python3.6/site-packages/imblearn/utils/_validation.py in <module>
11
12 from sklearn.base import clone
---> 13 from sklearn.neighbors._base import KNeighborsMixin
14 from sklearn.neighbors import NearestNeighbors
15 from sklearn.utils.multiclass import type_of_target
ModuleNotFoundError: No module named 'sklearn.neighbors._base'
Other packages in the environment
numpy==1.16.2
pandas==0.24.2
paramiko==2.1.1
matplotlib==2.2.4
scikit-learn==0.22.1
Keras==2.2.4
tensorflow==1.12.0
tensorboard==1.12.0
tensorflow-hub==0.4.0
xlrd==1.2.0
flask==1.0.2
wtforms==2.2.1
bs4==0.0.1
gensim==3.8.1
spacy==2.2.3
nltk==3.4.5
wordcloud==1.6.0
pymongo==3.10.1
imbalanced-learn==0.6.1
I checked the sklearn package, it contains base module, not _base. But modifying it may not be the right solution. Any other solution to fix this issue.
If in case you want to persist with the latest version of scikit-learn, add the following code to your script or execute the following code in your environment before installing imblearn
import sklearn.neighbors._base
sys.modules['sklearn.neighbors.base'] = sklearn.neighbors._base
This has to be after
pip install sklearn
or in a notebook environment:
!pip install sklearn
This problem stems from the fact that certain modules are named with an underscore in the newer scikit-learn releases
Previous sklearn.neighbors.base has been renamed to sklearn.neighbors._base in version 0.22.1.
You have probably a version of scikit-learn older than that.
Installing the latest release solves the problem:
pip install -U scikit-learn
or
pip install scikit-learn==0.22.1
I had a similar problem trying to import SMOTE from imblearn.over_sampling and my version of scikit-learn was up to date (0.24.1). What worked for me was:
First I downgraded my scikit learn version to 0.22.1 using
pip install scikit-learn==0.22.1
Next, I updated the imbalanced-learn package using:
pip install -U imbalanced-learn
That uninstalled scikit-learn-0.22.1, installed the updated version (scikit-learn-0.24.1), and updated the imbalanced-learn package. Everything worked fine thereafter.
If it is in a particular env, you must copy the _base file or base file to the env from package file.
I had the same problem in my tensorflow env. I just copied _base and base file to my tensorflow env and worked.
I am trying to import SMOTE in my jupyter notebook.I tried the following steps;
I first installed imblearn using the following command in my terminal
conda install -c glemaitre imbalanced-learn
Then i used the following command to import imblearn in my notebook;
from imblearn import under_sampling, over_sampling
I am getting the following error;
<ipython-input-36-d0524665b8f2> in <module>()
----> 1 from imblearn import under_sampling, over_sampling
~/anaconda3/lib/python3.6/site-packages/imblearn/under_sampling/__init__.py in <module>()
4 """
5
----> 6 from .prototype_generation import ClusterCentroids
7
8 from .prototype_selection import RandomUnderSampler
~/anaconda3/lib/python3.6/site-packages/imblearn/under_sampling/prototype_generation/__init__.py in <module>()
4 """
5
----> 6 from .cluster_centroids import ClusterCentroids
7
8 __all__ = [
~/anaconda3/lib/python3.6/site-packages/imblearn/under_sampling/prototype_generation/cluster_centroids.py in <module>()
12 from scipy import sparse
13
---> 14 from sklearn.cluster import KMeans
15 from sklearn.neighbors import NearestNeighbors
16 from sklearn.utils import safe_indexing
~/anaconda3/lib/python3.6/site-packages/sklearn/cluster/__init__.py in <module>()
4 """
5
----> 6 from .spectral import spectral_clustering, SpectralClustering
7 from .mean_shift_ import (mean_shift, MeanShift,
8 estimate_bandwidth, get_bin_seeds)
~/anaconda3/lib/python3.6/site-packages/sklearn/cluster/spectral.py in <module>()
15 from ..metrics.pairwise import pairwise_kernels
16 from ..neighbors import kneighbors_graph
---> 17 from ..manifold import spectral_embedding
18 from .k_means_ import k_means
19
~/anaconda3/lib/python3.6/site-packages/sklearn/manifold/__init__.py in <module>()
4
5 from .locally_linear import locally_linear_embedding, LocallyLinearEmbedding
----> 6 from .isomap import Isomap
7 from .mds import MDS, smacof
8 from .spectral_embedding_ import SpectralEmbedding, spectral_embedding
~/anaconda3/lib/python3.6/site-packages/sklearn/manifold/isomap.py in <module>()
9 from ..utils import check_array
10 from ..utils.graph import graph_shortest_path
---> 11 from ..decomposition import KernelPCA
12 from ..preprocessing import KernelCenterer
13
~/anaconda3/lib/python3.6/site-packages/sklearn/decomposition/__init__.py in <module>()
9 from .incremental_pca import IncrementalPCA
10 from .kernel_pca import KernelPCA
---> 11 from .sparse_pca import SparsePCA, MiniBatchSparsePCA
12 from .truncated_svd import TruncatedSVD
13 from .fastica_ import FastICA, fastica
~/anaconda3/lib/python3.6/site-packages/sklearn/decomposition/sparse_pca.py in <module>()
9 from ..utils import check_random_state, check_array
10 from ..utils.validation import check_is_fitted
---> 11 from ..linear_model import ridge_regression
12 from ..base import BaseEstimator, TransformerMixin
13 from .dict_learning import dict_learning, dict_learning_online
~/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/__init__.py in <module>()
10 # complete documentation.
11
---> 12 from .base import LinearRegression
13
14 from .bayes import BayesianRidge, ARDRegression
~/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/base.py in <module>()
25
26 from ..externals import six
---> 27 from ..utils import Parallel, delayed
28 from ..base import BaseEstimator, ClassifierMixin, RegressorMixin
29 from ..utils import check_array, check_X_y
ImportError: cannot import name 'Parallel
Can anyone please guide me?
Thanks!
So it worked after I installed SMOTE using the following steps;
pip install -U imbalanced-learn
conda install -c conda-forge imbalanced-learn
Looks like I was installing it incorrectly.
I am not able to understand the errors in the previous installation.Would appreciate if someone could point those out to me.
Thanks!
Thanks, I have the same issue, but I ran the following command in terminal or command prompt to fix the issue.
pip install -U imbalanced-learn
after its successfull execution i ran following conda command
conda install -c conda-forge imbalanced-learn
that's how i fixed my problem
Adding these comments as an answer at the suggestion of joanis:
A convenient way to install packages to the same environment backing a Jupyter notebook is to use the modern magic commands for pip and conda in cells in the notebook. The magic commands %pip install <package name> and %conda install <package name> were added to make sure the installs done inside a Jupyter notebook get placed in the actual environment that backs the notebook, see here for more information. The use of the exclamation point alone in front of pip or conda wasn't capable of insuring installation to the proper backing environment, and this often lead to issues of users not understanding why they couldn't import properly after they thought they had installed following the advice of others.
(The % symbol will work in front of pip and conda for other commands besides installs, and so it is just easiest to think of best practice for the use of pip and conda inside Jupyter notebooks now as %pip ... or %conda ..., where ... represents the rest of the command.)
Because in most modern Jupyter systems automagics are enabled by default, you can actually leave off the symbol in front of pip or conda and get the modern magic commands used behind-the-scenes as well. Although it is often best to use the explicit % symbol so that you and others are more aware of what is happening.
I cannot import caffe into (anaconda-) python.
I'm following a notebook example on "logistic regression on non-image HDF5 data". When I execute the line
import caffe
I get the following error:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-17-3524921938b5> in <module>()
8 sys.path.insert(0, caffe_root + 'python')
9
---> 10 import caffe
11
/home/myName/libs/caffe/caffe-master-anaconda-python/python/caffe/__init__.py in <module>()
----> 1 from .pycaffe import Net, SGDSolver
2 from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver
3 from .proto.caffe_pb2 import TRAIN, TEST
4 from .classifier import Classifier
5 from .detector import Detector
/home/myName/libs/caffe/caffe-master-anaconda-python/python/caffe/pycaffe.py in <module>()
11 import numpy as np
12
---> 13 from ._caffe import Net, SGDSolver
14 import caffe.io
15
ImportError: libjpeg.so.62: cannot open shared object file: No such file or directory
The library libjpeg.so.62 is definetly installed under /usr/lib/i386-linux-gnu/libjpeg.so.62. I don't know what is going wrong here or how to tell anacondapython where to look for libjpeg.so.62.
I already tried out sudo apt-get install libjpeg62:i386 but apt-get says "libjpeg62:i386 is already the newest version. libjpeg62:i386 set to manually installed."
I compiled caffe while modifying "Makefile.config" such that it was pointing it to the ananconda python path. I also exported the PYTHONPATH and PATH of my anaconda directory:
export PATH="/home/myName/libs/anaconda/bin:$PATH"
export PYTHONPATH="/home/myName/libs/caffe/caffe-master-anaconda-python/python:$PYTHONPATH"
Ok I finally found the solution:
I had to sudo apt-get install libjpeg62
After that a new error occurred while trying to import caffe, namely
ImportError: /home/myName/libs/anaconda/bin/../lib/libm.so.6: version `GLIBC_2.15' not found (required by /usr/lib/x86_64-linux-gnu/libx264.so.142)
That could be solved by removing some buggy anaconda libraries thus resorting to the system libraries,quote shelhamer:
"Some versions of Anaconda seem to come with a bad libm. rm ~/anaconda/lib/libm.* takes care of this by reverting to the system libm."
see github bvlc
I am trying to use the sklearn.qda package in python. I have installed it successfully but when Itry to import it I get the error message below. Can anybody tell me what should I do to fix this?
In [3]: from sklearn.qda import QDA
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-3-7d7abf937d66> in <module>()
----> 1 from sklearn.qda import QDA
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/qda.py in <module>()
12
13 from .base import BaseEstimator, ClassifierMixin
---> 14 from .utils.fixes import unique
15 from .utils import check_arrays, array2d
16
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/sklearn/utils/__init__.py in <module>()
7 import warnings
8
----> 9 from .murmurhash import murmurhash3_32
10 from .validation import (as_float_array, check_arrays, safe_asarray,
11 assert_all_finite, array2d, atleast2d_or_csc,
ImportError: cannot import name murmurhash3_32
I had the same problem, I run:
sudo pip install -U scikit-learn
and now everything is working fine
I started a new shell and this problem went away
I faced the similar situation of getting mumurhash error while installing sklearn.preprocessing library.
I upgraded numpy version from 1.13 to 1.15
using
pip install --upgrade numpy
After this, I was able to import the sklearn library.
I fixed this by upgrading murmurhash to 1.0.5.
I faced a similar problem, so there are mainly two solutions
Either run it in administrator mode and install all the libraries and run in admin mode. Something that I would not recommend
Use virtualenv to install the libraries again and run your command in the virtualenv. This worked for me.
Hope this helps