Can't install geopandas in Anaconda environment - python

I am trying to install the geopandas package with Anaconda Prompt, but after I use conda install geopandas an unexpected thing happened:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages
After this, it proceeds to search for conflicts, but hours pass without finishing. In the end, I still cannot use geopandas.
I have also tried installing geopandas in a different virtual environment and it works but I do not know how to use the environment in Jupyter Notebooks.
I would like to know, how can install geopandas without a separate environment?
Or, alternatively, how can I use geopandas in Jupyter Notebooks after install it in a separate environment?

Install it in a new env, and include ipykernel if you plan to use it in Jupyter:
conda create -n my_env geopandas ipykernel
Note, nb_conda_kernels should be installed install in your base env (i.e. where you launch Jupyter from). This enables Jupyter to automatically recognize other envs that are kernel-ready:
conda install -n base nb_conda_kernels

in my case, I installed geos firstly: pip install geos, then conda install geopandas and everything went through.

If you want to install geopandas in an EXISTING environment, use conda-forge as follows:
conda install --channel conda-forge geopandas

I faced the same problem. As far as I understand, my mistake was to install geopandas or pyproj with pip instead of conda. When trying to fix the issue (uninstalling geopandas, pyproj) I completely crashed my env.
I fixed the issue by completely reinstalling anaconda and creating a new separate conda env with an older version of python (python=3.8 instead of 3.9). Then everything ran smoothly.

I had this issue when Jupyter had been installed from the default channel. For me running conda uninstall jupter followed by conda install -c conda-forge geopandas worked.

You can install geopandas with pip, however, geopandas requires other dependencies (such as pandas, fiona, shapely, pyproj, rtree). You need to make sure that they are properly installed. After that you should be able to use them in jupyter with a simple import geopandas.

Related

How we can resolve "Solving environment: failed with initial frozen solve. Retrying with flexible solve." issue while installing the new conda package

I have tried to install new package in conda for windows using the following command:
conda install -c conda-forge python-pdfkit
but got the following error:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
I have tried the following workarounds but no use, still getting the same error:
Workaround 1:
$conda create --name myenv
$conda activate myenv
Workaround 2:
conda config --set ssl_verify false
I have had a similar issue before and since I don't see your code I can't specify exactly what the solution is. All I know is that while installing conda package the following issues might occur:
The package you are trying to install is not available in the conda-forge channel. In this case, you may need to try installing the package from a different channel, or you may need to specify a different channel in the conda install command.
The package you are trying to install is not compatible with your current version of conda or with the other packages you have installed. In this case, you may need to try updating your version of conda or try installing a different version of the package.
There is a problem with your conda configuration or with the conda environment you are using. In this case, you may need to try creating a new conda environment and installing the package there, or you may need to try re-installing conda itself.
If you are still having trouble installing the package after trying the above methods, Please give me more details about your specific situation, such as the version of conda you are using and the other packages you have installed. This will help me know more about your issue to be able to offer more specific suggestions.
Hope this will help somehow.

ModuleNotFoundError: No module named 'geopandas' [duplicate]

This error raised while installing geopandas. I've looking for its solution on the web, but none of them really explain what happened and how to solve it..
This is the full error:
Collecting geopandas
Using cached https://files.pythonhosted.org/packages/24/11/d77c157c16909bd77557d00798b05a5b6615ed60acb5900fbe6a65d35e93/geopandas-0.4.0-py2.py3-none-any.whl
Requirement already satisfied: shapely in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (0.20.3)
Collecting fiona (from geopandas)
Using cached https://files.pythonhosted.org/packages/3a/16/84960540e9fce61d767fd2f0f1d95f4c63e99ab5d8fddc308e8b51b059b8/Fiona-1.8.4.tar.gz
Complete output from command python setup.py egg_info:
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Alvaro\AppData\Local\Temp\pip-install-oxgkjg8l\fiona\
pip install wheel
pip install pipwin
pipwin install numpy
pipwin install pandas
pipwin install shapely
pipwin install gdal
pipwin install fiona
pipwin install pyproj
pipwin install six
pipwin install rtree
pipwin install geopandas
here are the source links:
http://geopandas.org/install.html#installation
https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels
https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
If you still have problems, consider uninstalling the above (pip uninstall) and reinstalling.
I solved this problem by running the following commands:
pip install pipwin
pipwin install gdal
pipwin install fiona
pip install geopandas
Works successfully on Windows.
Geospatial Data Abstraction Library (GDAL) is a library designed for vector geospatial data formats. It's a prerequisite for installing Fiona, the Python API for OGR (which doesn't really stand for anything), which is in turn a prerequisite for Geopandas. On UNIX-like systems the gdal-config script tells Fiona stuff about your particular gdal installation.
It seems that your gdal-config is not in one of the usual places on your PATH, so Fiona was unable to find it.
If you're using Anaconda, best is to remove gdal with conda remove gdal and then do a fresh conda install geopandas.
As a general rule, if you're using Conda you should never use pip to install something inside it unless you're absolutely sure conda offers no support for it. (Many package can be found on conda by specifying the right channel - -c argument.) And specifically in the case of geopandas, the maintainers recommend using conda over pip, since pip requires you to install the dependencies correctly.
I had a lot of issues myself installing geopandas, mostly showing error when downloading fiona and gdal. I did every step above and did a conda install geopandas but failed. The only thing worked for me is to install fiona and gdal wheel separately.
go to the link by Christoph: gohlke:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona
You can search for fiona and gdal wheel files. Make sure you choose the file as per your python version, if it is 3.7 then there would be cp37.
Download the file
go to command prompt, put cd and then pip install , install GDAL wheel file, then fiona, then just do pip install geopandas.
This solution worked for me.
To install gdal, I followed the following steps:
downloaded the version that satisfies my computer (64 bit) from
https://www.lfd.uci.edu/~gohlke/pythonlibs/ . The file was GDAL-3.1.4-cp37-cp37m-win_amd64.whl
Put the file in a folder on the desktop.
From cmd, i moved to that directory and executed python -m pip install GDAL-3.1.4-cp37-cp37m-win_amd64.whl
This is followed by installing fiona the same way: python -m pip install Fiona-1.8.18-cp37-cp37m-win_amd64.whl
For shapely, i executed conda install -c conda-forge shapely
After that, i was able to install keplergl as usual: pip install keplergl
install descartes: conda install -c conda-forge descartes (or python -m pip install descartes).
In this way, i didn't have to play around with the 'Environmental Variables' as this may affect other programs
Cheers..
Installing geopandas
Geopandas has very complex multi-language dependencies, some of which need to be built with consistent compiler versions across packages. Because of this, the geopandas docs recommend installing using conda in a new environment using conda-forge only. Here are some general best practices to keep in mind:
conda is the recommended installation method. You can install geopandas from pip or source, but it's going to be a bumpy ride and it's not recommended. If you're installing conda for the first time, I recommend you start with miniconda (or better yet miniforge, a conda-forge-first miniconda variant), not anaconda, to keep your base env lean.
When using conda, you should not mix and match conda channels.
When installing geopandas, try creating a fresh environment rather than installing into your base environment. If you have anaconda installed, it comes with a large number of packages from the "defaults" channel installed in your base environment. I recommend deleting anaconda and installing miniconda, then installing into a new environment.
Try to create a new environment with everything you plan to use all at once rather than iteratively modifying the environment. In other words, if you want to use geopandas with scikit_learn, folium, and rasterio, install them together with a single conda create command
As a last resort, delete your conda installation and re-install miniconda. Desperate times call for desperate measures, and this usually resolves gnarly installation nightmares.
To create a fresh conda environment in which you install all necessary dependencies at the same time, using the conda-forge channel:
conda create -n my-geopandas-env -c conda-forge geopandas [all other packages you need]
For example, I might set up an environment with something along the lines of...
conda create -n my-geopandas-env -c conda-forge python=3.9 \
ipython ipykernel geopandas scipy seaborn fiona matplotlib cartopy
Bundling your installations into a single environment creation step like this reduces the chance of packages falling out of sync. To speed this process up, you could first install mamba or mambaforge, a faster drop-in replacement for conda, into your base environment and then run the above commands with mamba instead of conda.
Generally, it's best to avoid installing much of anything in your base environment (cross-environment system utilities like mamba are some of the few exceptions). If you already have a complex base environment (maybe you started with anaconda rather than miniconda) this may be the time to delete your entire conda installation and start from scratch (I know that's terrifying... sorry! but it'll save you heartache in the future). mamba is great for speeding this process up.
Connecting your editor to the conda environment
Once you have installed all of the packages you need, activate your environment with conda activate my-geopandas-env. See the conda guide to managing environments for more info.
Jupyter/ipython
Some editors/IDEs including jupyter require additional packages - jupyter requires that ipython and ipykernel be installed in order to load the environment within the notebook or editor - that's why I included ipykernel in my list above. See the ipykernel docs for more info.
Other IDES
To link this environment to an IDE such as VSCODE, spider, etc., find the location of this python version with conda run -n my-geopandas-env which python then point your editor to this python executable. Check the docs of your specific editor to get more targeted info about how to set up a conda environment for use with your editor:
Spider: FAQ on using an existing environment and Spider wiki guide to working with packages and environments
VSCode: Using python environments in vscode
PyCharm: Configure a conda virtual environment
I don't have conda installed, then using just pip I followed these steps:
Download GDAL and Fiona wheels directly on:
GDAL: https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
FIONA: https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona
Then:
pip install <gdal.whl>
pip install <fiona.whl>
In my case I did pip install GDAL-3.4.1-cp38-cp38-win_amd64.whl and Fiona-1.8.21-cp38-cp38-win_amd64.whl. Where cp38 stands for python 3.8.
After that you are able to install geopandas with pip as well.
pip install geo pandas
For me, the only solution was to install the ready binaries from here
https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
Then just install locally
pip install GDAL-3.1.4-cp38-cp38-win_amd64.whl
One way in which I could install geopandas was through the Anaconda Navigator. Get into the environment and install the package 'geopandas'. After that I could import the geopandas package in spyder
I will add
!pip install descartes
to #JDOaktown list.
I started with pip install geopandas and got the error, but later tried with conda install --channel conda-forge geopandas and the error disappeared.
Successfully installed in RHEL 7.8.
It automatically downloaded the required packages. This might be helpful
Installing collected packages: certifi, pyproj, shapely, attrs, click, click-plugins, munch, cligj, fiona, geopandas
Successfully installed attrs-20.3.0 certifi-2020.11.8 click-7.1.2 click-plugins-1.1.1 cligj-0.7.0 fiona-1.8.17 geopandas-0.8.1 munch-2.5.0 pyproj-3.0.0.post1 shapely-1.7.1
If you want to install GDAL, Geopandas, Shapely, Fiona etc in a windows Virtual Environment download .whl files for all of them and first install GDAL using
pip install gdal-.whl
Following this command edit the activate.bat file in you venv\Scripts folder and add
GDAL_CONFIG = \venv\Lib\site-packages\osgeo
Then you can install rest using pip install
I started off with a clean environment gdal_test in Conda environments, but made the mistake of using the old activate gdal_test instead of conda activate gdal_test. This made Conda Environment resolving take forever, which is why I resolved to other methods at first.
Takeaway: let conda handle it, with a proper new environment.
I ran into this problem not with anaconda/windows, but with python:3.6 Docker image. Google search always led me to this question, so I think I will share how I resolve my issue in case others also end up here.
Based on here, you need to install system relevant packages in the Dockerfile before running pip install geopandas or pip install requirements.txt:
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libatlas-base-dev \
libgdal-dev \
gfortran
The following worked on macOS:
brew install gdal --HEAD
Verify the installation by running gdal-config --version
Following that pip installation as normal worked without a problem.

Unable to update spacy to newer version 3 in conda enviroment

I have been trying to update spacy to the new version in conda environment. I have not been successful though I have used the below command conda update spacy=3.0
and
(base) hadi#notebook:~$ conda install -c conda-forge spacy=3.0
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
I had almost exactly the same problem, but I was using PyCall in Julia.
The solution for me was to remove spacy, clean conda and then manually add conda-forge as a channel and then reinstall spacy.
conda remove spacy
conda clean
conda config --add channels conda-forge
conda install spacy
explicitly adding the channel may be what actually fixed the problem, but I am not sure.
thanks. I got answer issue was spacy has not released version 3 for conda.

Conda refuse to install packages from requirements.txt just because of a few outliers, how to fix it?

I'm using requirements.txt to manage my python dependency:
six
tqdm
future
numpy
brine
scipy
matplotlib
# birdseye
shapely
git+https://github.com/tribbloid/jupyerlab-desktop.git#subdirectory=python
jupytext
# pyre-check
# deprecated
torch >= 1.2.0
# tensorboard
# opencv >= 4.0.0
# prototypes
git+https://github.com/pytorch/vision.git#v0.4.0#egg=torchvision
tb-nightly
My environment is a conda env on python 3.7. I was trying to use a few command to install these packages, but when I run:
conda install --file requirements.txt
I got the following error message:
$ conda install --file ./requirements.txt
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- tb-nightly
- //github.com/tribbloid/jupyerlab-desktop.git
- torch[version='>=1.2.0']
- //github.com/pytorch/vision.git#v0.4.0
- brine
Current channels:
- https://conda.anaconda.org/conda-forge/linux-64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/main/linux-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/linux-64
- https://repo.anaconda.com/pkgs/r/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
It appears that conda refuse to install any of them simply because it can't find 3 packages! (they are on PyPI) What's the point of this design and what should I do to fix it?
My end goal is to use conda if possible, and fallback to pip if they are only on PyPI, the entire process should be reproducible and fully automated.
You can delete offending packages from requirements.txt, run conda on the new .txt, then install non-installed packages via pip into your Anaconda/pkgs (or move them there manually post-install). Then, run conda update --all to ensure compatibility.
Worked for me for a similar instance.
This works on Linux. Just install via pip in your conda environment, it won't complain about not finding the packages like conda.
Run pip install -r requirements.txt. This will install the packages in your conda environment plus all their dependencies.
Make sure to activate your environment and that you are running this command in the directory where your requirements.txt is i.e in terminal cd to wherever requirements.txt is.
I thought to try only after installing keras and tensorflow via pip so I can't say 100% that it would've worked for those as well, but everything else in my req file (+50 modules) installed with this command on Win11 in Anaconda Powershell while in the active environment.
conda install -c conda-forge --file requirements.txt
I still don't know why I needed to do this. Also, I tried another req file that I didn't have a problem with weeks prior. It also failed as the OP states. I don't know what I may have done (not done) to cause this. Perhaps missing a conda update or server down.

Conda install and update do not work also solving environment get errors

I am using anaconda as below:
(base) C:\Users\xxx>conda info
active environment : base
active env location : C:\Users\xxx\Documents\ANACONDA
shell level : 1
user config file : C:\Users\xxx\.condarc
populated config files : C:\Users\xxx\.condarc
conda version : 4.7.11
conda-build version : 3.18.9
python version : 3.6.9.final.0
virtual packages :
base environment : C:\Users\xxx\Documents\ANACONDA (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : C:\Users\xxx\Documents\ANACONDA\pkgs
C:\Users\xxx\.conda\pkgs
C:\Users\xxx\AppData\Local\conda\conda\pkgs
envs directories : C:\Users\xxx\Documents\ANACONDA\envs
C:\Users\xxx\.conda\envs
C:\Users\xxx\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.7.11 requests/2.22.0 CPython/3.6.9 Windows/10 Windows/10.0.16299
administrator : False
netrc file : None
offline mode : False
Now I have 2 issues that stop my work.
1) I cannot use conda install for any package.
It will give me the error in solving environment list this:
failed with initial frozen solve. Retrying with flexible solve.
then it will fail again and give message like this:
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
Even after the checking for incompatible packages, it didn't give me the solution.
2) When I want to upgrade or downgrade conda by the command:
conda update -n base conda
or
conda install conda = 4.6.11
It will give me errors again in the solving environment, and I think this is related to the first issue.
Now I cannot use conda for anything, please advise and thank you!
I ran into the same problem and I couldn't find a solution, but I did find a workaround. If you create an env and activate that env and then do the install, it seems to work just fine. If you don't need a lot of libraries I would try that.
Commands are:
Create env
conda create --name myenv
Activate the env
conda activate myenv
I started running in to this problem when one package suggested following modifications before installation
conda config --set channel_priority true
so I just reverted it and voila error's gone
conda config --set channel_priority false
I solved a similar problem by doing the following:
conda update --all --yes
You may downgrade to an older version of conda 4.6.14 and then install your packages.
conda config --set allow_conda_downgrades true
conda install conda=4.6.14
If your conda version is greater than or equal to 4.8, you may see that error.
(base) [localhost ~]$ conda --version
conda 4.8.2
(base) [localhost ~]$ conda install -c anaconda requests-kerberos
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Downgrade your conda if possible using the following commands
conda config --set allow_conda_downgrades true
conda install conda=4.6.14
Then create your virtual environment:
conda create --name myenv_conda
Then activate your myenv_conda
conda activate myenv_conda
Now try to install packages using conda -c install anaconda
eg: conda install -c conda requests-kerberos
output:
(myenv_conda) [localhost ~]$ conda install -c anaconda requests-kerberos
Collecting package metadata: done
Solving environment: done
....
....
....
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
https://stackoverflow.com/a/61117831/7802476 helped me. Creating a new environment using the accepted answer didn't get my jupyter notebook to recognize the installed opencv. I could only import cv2 when I was in the environment on my terminal.
The fix was to use pip instead of conda, pip install opencv-python
I run into same problem while installing geopandas. The issue was gone after I upgraded to a newer version of Anaconda using:
conda update --prefix C:\apps\anaconda3 anaconda
Note: you'll have to modify the path C:\apps\anaconda3 pointing to your own installation directory.
Strangely, I did download Anaconda from the official homepage just a few hours ago and thought I had the newest version...
I had same problem but I solved because of SKİD.
After you create new env, You can run one of the codes in this link.
https://anaconda.org/rdkit/rdkit
I've generally had good results with conda and pip, but learned over time that environments really can get broken by unusual combinations of packages, and just starting a new env from scratch is often the only way forward. In my case it was tensorflow-gpu that wouldn't install from conda-forge, into an env I'd already been using for some weeks. The list of packages cited as being incompatible was in the dozens. I tried all the things listed on this page, but in the end I just hammered out a new env. Since I was deducing what packages I needed to install in the new env by running my program and installing one package at each error (ie instead of being methodical about listing my former env), along the way I reproduced this frozen solve thing several times. Each time it happened, I shuffled that conda package back to the initial conda create command and started again. Eventually my program ran in the new env, with tensorflow-gpu imported, and the root cause was revealed as conda installs which occur after pip installs. It wasn't anything to do with conda version or conda config.
A specific note for anyone using opencv-python, I ended up needing to install qt via conda, before attempting to install opencv-python via pip. That was a tricky one because it's a runtime error, and on stack overflow many of the solutions refer to various qt lib requirements which aren't part of python/conda and which I already had.
A further specific note. Some pip installs will roll back a version of a related package, thus breaking other conda-installed packages. In my case the example was a package called peakutils rolling back numpy, which then broke a from numpy import ma in scale.py module in the matplotlib package. My head is still spinning.
Create a new environment if your are not superuser, after that activate environment to install packages
Recommend to upgrade conda latest version.
conda install --quiet --yes conda=4.7.11
python -m pip install --upgrade pip==19.2.2

Categories

Resources