Closed heitorPB closed 6 years ago
Updated with @phobson suggestion.
Does this method work in a clean environment? How does it handle the libgeos stuff?
To be honest, I'd rather promote the conda-forge approach to installing basemap. Or, even better, pip install cartopy
.
Assuming you have pyproj installed, the pip command works. pyproj also has a pip install
problem. I understood this method compiles the libgeos stuff included in the repo.
What is the advantage of conda-forge? IMHO, having several package managers is a nightmare. A quick browser in coda's documentation showed me that most packages I use are not available there. And they are in pip.
Assuming you have pyproj installed, the pip command works. pyproj also has a
pip install
problem. I understood this method compiles the libgeos stuff included in the repo.
Ideally we should start building wheels for pyproj
to facilitate the life of pip
users. Basemap I'm not so sure due to the deprecation. We don't want to encourage people to use something that is at the end life support.
What is the advantage of conda-forge?
It is a collective of packages (5508) managed openly by the community:
https://anaconda.org/conda-forge/repo
IMHO, having several package managers is a nightmare.
Indeed. That is why people are moving to conda
and using conda-forge
for packages. It is platform and language agnostic. As it evolves it becomes the only package manager you will ever need. (Still rough around the edges with haskell, rust, and go. But great for Python and R.)
A quick browser in coda's documentation showed me that most packages I use are not available there. And they are in pip.
Not sure what you are using but take a look at the conda-forge
channel package listing and not conda
's documentation. Also, if a package is not there. It is relatively easy to add.
Oh, Basemap is being deprecated?
Ideally we should start building wheels for
pyproj
to facilitate the life ofpip
users.
I submitted a PR there with instruction to pip install
pyproj from github as well. But wheels would be better.
Oh, Basemap is being deprecated?
See the @WeatherGod's (the basemap maintainer) https://github.com/matplotlib/basemap/pull/433#issuecomment-432298598 and the EOL docs: https://matplotlib.org/basemap/users/intro.html#cartopy-new-management-and-eol-announcement
I submitted a PR there with instruction to
pip install
pyproj from github as well. But wheels would be better.
pip install from github and expecting to have the libs and compilers is too advanced for the average user. Building wheels are not that hard with the new technologies, but unfortunately that is up to the PyPI package authors/maintainers and many do not have the time to do that. That is why conda-forge
is better, it is a community that not makes packaging easy to anyone who wishes to crate or maintain, not only the package authors/maintainers. Also, b/c most of the libs, like geos
, gdal
, proj.4
, etc, are already package for Linux, Windows and OS X, so creating a python package that depended on those is not a burden.
I can't say whether conda-forge is better, but there are a lot of packages using (my) https://github.com/matthew-brett/multibuild framework for wheel building. It's not completely trivial, but it's not that hard either. I'd guess about 3 -4 hours for the initial setup.
pip install from github and expecting to have the libs and compilers is too advanced for the average user.
I agree. Even though is a matter of copying and pasting, it's too advanced for the average user. Expecting them to read the [f] manual is not compatible with the reality :/ Learned that the hard way.
See the @WeatherGod's (the basemap maintainer) #433 (comment) and the EOL docs: https://matplotlib.org/basemap/users/intro.html#cartopy-new-management-and-eol-announcement
I was not aware of cartopy when I started a project, will see how difficult it is to adapt to it. I suggest to add a line in the README and in the documentation about this. So if someone finds Basemap in Google or somewhere else, they'll know that this project is at the end of life...
But while cartopy
has not all Basemap
's features, there should be an easy enough way to install it with pip
.
I solved this by uninstalling the conda and reinstalling, defining on installation the conda path on variable environment. After, at settings on your project, set the project interpreter to C:\Users\the_user_name\anaconda3\python.exe, then try to install the basemap. It was the only way I got this, after many tries and bugs with pip I tried with conda and that's it.
Several issues report problems with using
pip install basemap
. A workaround is using the latest version from Github.Some issues with pip problems: #405 #403 #198 #251