I am working in a conda environment (called python36)
I have installed a package 'bctpy' while in this environment via
pip install bctpy
When I now try to import this module (while still in this environment)
import bctpy
I receive the error:
ModuleNotFoundError: No module named 'bctpy'
When I run:
conda list
from the command prompt the module is there, but when in python I run
help()
modules
The outputs of which pip and which python are below:
(python36) bash-4.1$ which pip
/home/.conda/envs/python36/bin/pip
(python36) bash-4.1$ which python
/home/.conda/envs/python36/bin/python
It is not visible. is anyone able to explain what is going wrong?
This is a problem that one can encounter every now and then:
The PIP package is derived from the PyPI name bctpy
pip install bctpy
but the import name is derived from the top level directory name: bct/, so it must be imported like
import bct
Since i could not get it after my pip install ImageHash i tried following
1. Update index in Anaconda
2. Update channel
None of them helped.
but when i went to Anaconda -> Environments tab -> Click on triangle mark next to base(root) -> Open terminal -> ran command conda install -c conda-forge imagehash
Immediately after this i was able to see the package.
Related
I am new to python and I'm following a tutorial using python3. I installed plotly and I can see it in the pip list and pip3 list and python help("modules"). However, when I tried to import the module (from plotly import offline) I got the error:
ModuleNotFoundError: No module named 'plotly'.
Tried to reinstall but it did not work.
I can import other modules in the list, like pygame or matplotlib without a problem.
It is usually a good idea to create a virtual environment to install additional modules. This will create a sealed Python environment with only the packages you specify. This usually fixes such errors, as Python sometimes installs packages where they can later not be found anymore. It is also a good idea to not use pip, as it might point to a pip from a different python version. Also it makes sense to upgrade pip before installing packages.
Try the following:
python3 -m venv env
. env/bin/activate (on Linux)
.\env\Scripts\activate (on Windows)
Check which packages we have:
python -m freeze
Here make sure this does not show anything except pkg-resources==0.0.0. Otherwise your PYTHONPATH might be mesed up.
Upgrade pip and install your package:
python -m pip install --upgrade pip
python -m pip install plotly
Run python and import your package:
python
>>> import plotly
If I typ this:
pip install plotly
in a CMD and this:
>>> from plotly import offline
In the interpreter it workes fine,
try uninstalling and reinstalling plotly:
pip uninstall plotly
Enter
y when it says Proceed (y/n)?
And install again with
pip install plotly
I had the same problem; after uninstalling/installing plotly, use venv, I realised (after 2h) that my script name was "plotly.py" => that was the cause of the error
I am trying to import Keras lib code to execute CRF using the import command below but an error raises as titled. Please share the solution for this.
The command used to execute is
from keras_contrib.layers import CRF
Traceback (most recent call last):
File "", line 1, in
from keras_contrib.layers import CRF
ImportError: No module named 'keras_contrib'
A simple
(sudo) pip install git+https://www.github.com/keras-team/keras-contrib.git
as mentioned in the installation instructions did the trick for me.
This error means that Python is unable to find the module in one of the directories defined by Python path. The module is either not installed or is installed in another directory.
If not installed, then see https://github.com/keras-team/keras-contrib for installation instructions.
If installed but not found, you will most likely need to add the directory where it is installed to your Python path. You can find out what your current Python path is by inspecting the variable sys.path (such as python -c 'import sys; print sys.path'). You may need to add another directory to your path by setting the environment variable PYTHONPATH before running your script, but there are other options. See for example PYTHONPATH vs. sys.path for some insight.
After struggling for a while, I was so willing to make myself clear of this issue, so I searched for a while, and just figured out and tested.
When you create a new conda env by specifying the python version, it will use the conda_root_python version. And if you didn't install the pip package, and try to use pip under your created conda env, it will only run the conda_root_pip and install the package in the root site_packages.
I know three ways to install python packages only in your created conda env.
For a better explanation, we create a conda env with same python version of conda root environment.
conda create -n myenv python
I. One of the officials advise, install package with conda command for specified conda environment,
conda install -n myenv tensorflow
II. Another one of official advise, get into your specified environment and run conda install
source activate myenv
conda install tensorflow
in above two ways you don't need to install extra packages like pip and other pip related packages.
III. For people who really want to pip, just because get used of that.
install pip package(just as above two ways did).
conda install -n myenv pip
or
source active myenv
conda install pip
then comes the pip install when you are in your environment
pip install tensorflow
--------new edit above 15.April.2018--------------
Just to make it more clear.
If you are working under anaconda environment, you should also install all the modules and IDE you need in that environment.
Here I just put one example of anaconda env flows:
conda create --name=my_conda_env python=2.7 #create an environment
activate my_conda_env #get into that env
pip install numpy #install packages you need
...
pip install keras_contrib
pip install spyder #install IDE
Getting Started with conda
---------
Try install in root
activate root
pip install keras_conrib
go back to your tensorflow
start your spyder and try again
Maybe this is your issue
Module installed on Conda, but gives error on importing in Spyder (Python IDE)
----------------- above new answer
It seems you are under conda environment, env-name is "tensorflow", so try to start python and try import again. To make it clear
make sure you have (tensorflow) in front of C:\Users>
type python to start python
import keras_contrib to see if you have keras_contrib in anaconda env (tensorflow) due your comment, it should be
from keras_conrib.layers import CRF (crf or CRF? just try)
If you installed keras_contrib in env "tensorflow", should also start python and do your jobs in the same env, for a new env, you have to install it again.
Here is something for newbie just like me after playing with python for a while and still not familiar with anaconda, I hope you didn't come up with that. As follows:
I used to think in my anaconda env is already in python(actually not yet), so I just type
from keras_contrib.layers import CRF when I saw (tensorflow)C:/Users> which is actually wrong
The right way as described up is get into python(step 2.) or ipython or jupyter just for test if you get the package.
--------------------- below is old answer
I think you confused keras with keras_contrib.
They are two different modules.
try pip install keras_contrib or use other ways to install keras_contrib.
If you are trying to install the tensorflow-keras version or even the keras version using git cloning and setup.py installing and getting the above error then you might want to add the path of the keras-contrib folder to system path using -
import sys
sys.path.append('<remaining_path>/keras_contrib')
Simply run:
conda install git+https://www.github.com/keras-team/keras-contrib.git
If you use Tensorflow, you may get over this error by replacing
from keras_contrib.layers import CRF
with
from tensorflow_addons.layers import CRF
If you're still interested in Keras itself, use the following line in Jupyter
!pip install git+https://www.github.com/keras-team/keras-contrib.git
Just note that you may face other errors while using seperate Keras, so I suggest that you use Keras that is supported in Tensorflow.
I installed web.py using cmd, it got successfully installed.
C:\Users\Admin1>pip install web.py==0.40.dev0
Requirement already satisfied: web.py==0.40.dev0 in c:\users\admin1\anaconda3\li
b\site-packages\web.py-0.40.dev0-py3.6.egg
But when I try to run this command on my python editor
import web
it gives error
ImportError: attempted relative import with no known parent package
Any suggestion on what m I missing??
Thanks
Domnick.
ensure you take the correct pip with the right interpreter
pip --version
and
pip3 --version
and for anaconda you have a own anaconda prompt, where you can install your packages and list, which packages are installed
On anaconda prompt:
conda list
to show your installed anaconda packages.
open the anaconda prompt:
type in:
conda install -c conda-forge web.py
I take the PyCharm IDE:
Under "file" -> "settings" -> Project Interpreter -> select Anaconda Interpreter -> in my case it´s Python3.6.1 (C:\Anaconda3\python.exe)
interpreter located in
C:\Anaconda3\python.exe
after this settings the import statement
import web
works absolutely fine for me
I am using anaconda 4.4.0 with Python 3.6.2. First, I pip installed Keras, it shows on pip list and conda list and also in environment>root>packages in Anaconda. But when I use import keras ,in Anaconda or in Terminal, I get
Traceback (most recent call last):
...
ModuleNotFoundError: No module named 'keras'
I tried installing Keras with anaconda also, and I get the same ModuleNotFoundError.
I have also tried uninstalling it, then download the master branch from github and install using python setup.py install. Again the package is in the lists but I cannot import it.
UPDATE:
I have uninstalled packages several times and installed using Keras package in pypi, Now I am able to import the packages in the python in terminal. But still I cannot import in jupyter notebook.
It may worth mentioning that I am working with MacOS Sierra 10.
If you are able to import in shell but not in the notebook, according to gnestor's answer to this question, your python may use different executables. Run:
import sys
sys.executable
in shell and in notebook. If the directories are different then you must change the kernelspec of the notebook. This might have happened by installing Tensorflow or other packages that change the environment and kernelspec. You can find the kernelspec directory with this command:
from jupyter_core.paths import jupyter_data_dir
print(jupyter_data_dir())
In that directory you will find a JSON file. Open it and change the path to your working python directory. (working python directory in which python)
use python -m pip install keras
Then, use python shell to check for installation.
try this code:
conda install -c deeplearn keras
Basically, the full answer you can find here:
Install Python package: "Package missing in current win-64 channels"
However, it seems to me you are using different python in your terminal.
Check this command in the terminal:
which python
It should return something like this:
/Users/***/anaconda3/bin/python
Try running:
conda install jupyter
conda install tensorflow
pip install Keras
with your conda environment activated. Don't ask me why - Anaconda's behavior baffles me. (I've created a .yml script with these yet I still seem to need to do this step)
I have installed folium using command 'conda install -c ioos folium=0.2.0'
It looks to have installed correctly, and it showing on 'conda list' results.
When I run python from cmdline, then attempt an import of folium, i get the following error:
>>>import folium
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'folium'
Any ideas about how to fix this?
I had the same issue. If you are using 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 an anaconda env activated), pip install folium, the package will be placed in:
./anaconda3/lib/python3.7/site-packages/folium
Python uses 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 <package>, run conda init, close the terminal and open a new one. Then, try to import again.
Here are some tips about how to use pip in a conda-environment.
Check if the ...../python3.x/site-packages is listed within sys.path. If not append it with sys.path.append('.....python3.8/site-packages')