I am trying to install and run sunpy on Google colab. It requires a package astropy version 3.1 or higher. Even after installing astropy version 3.2.1 when I import sunpy it gives the following error:
ContextualVersionConflict Traceback (most recent call last)
<ipython-input-10-1a62dedba559> in <module>()
----> 1 import sunpy
5 frames
/usr/local/lib/python3.6/dist-packages/pkg_resources/__init__.py in
resolve(self, requirements, env, installer, replace_conflicting,
extras)
789 # Oops, the "best" so far conflicts with a
dependency
790 dependent_req = required_by[req]
--> 791 raise VersionConflict(dist,
req).with_context(dependent_req)
792
793 # push the new requirements onto the stack
ContextualVersionConflict: (astropy 3.0.5
(/usr/local/lib/python3.6/dist-packages),
Requirement.parse('astropy>=3.1'), {'sunpy'})
pip list gives the following result:
Package Version
------------------------ ---------------------
absl-py 0.8.0
aioftp 0.13.0
aiohttp 3.6.1
alabaster 0.7.12
albumentations 0.1.12
altair 3.2.0
astor 0.8.0
astropy 3.2.1
How this can be resoloved?
Install astropy >= 3.1 by hand like so before sunpy:
!pip install astropy>=3.1
!pip install sunpy
Then, restart your runtime to pick up the new astropy using the Runtime -> Restart runtime menu. Finally, import sunpy.
Here's a worked example:
https://colab.research.google.com/drive/1741JFtJPq37S8oEzjzvANFWBbH3rQ4Oc
Have you tried restarting the Runtime/Kernel? The error means that a new version has been installed of a Python package that was already loaded.
Related
I'm setting up a new MacBook and testing the code that I ran on my old Macbook.
One module I need is cartopy. I have installed it using the MacOS instructions detailed here -> https://scitools.org.uk/cartopy/docs/latest/installing.html
This all installs no problem. However when I try to import cartopy I hit the following error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cartopy/__init__.py", line 107, in <module>
import cartopy.crs # noqa: E402 module-level imports
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cartopy/crs.py", line 27, in <module>
import cartopy.trace
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/cartopy/trace.cpython-310-darwin.so, 0x0002): symbol not found in flat namespace '_GEOSCoordSeq_create_r'
Tried uninstalling proj downgrading to proj7 via homebrew then uninstalling and reinstalling cartopy -> no effect
Tried uninstalling and reinstalling geos via homebrew then uninstalling and reinstalling cartopy -> no effect
Tried uninstalling and reinstalling shapely for versions earlier than 2 then uninstalling and reinstalling cartopy -> no effect
Tried installing cartopy via conda with conda install -c conda-forge cartopy -> this results in a package which I can import but which contains none of the cartopy functions and only basic functions from the "string" package.
My current versions are
cartopy 0.21.0
shapely 1.8.5.post1
geopandas 0.11.1
geos 3.11.0
proj 9.1.0
Has anyone hit this problem before and solved it?
Sorry for asking but I've been stuck on this for ages.
I managed to get cartopy installed via conda but only in the default anaconda environment. That will do but still no idea why I couldn't get it working from pip using the instructions on the cartopy site
everytime after downloading a module a cant run it, what im doing wrong?
I've installed it using:
pip install pyperclip
It has been installed succesfully:
C:\WINDOWS\system32>pip list
Package Version
--------------- ---------
certifi 2020.6.20
clipboard 0.0.4
colorama 0.4.3
cycler 0.10.0
handcalcs 0.8.1
kiwisolver 1.2.0
matplotlib 3.3.1
numpy 1.19.1
Pillow 7.2.0
pip 20.2.3
pyparsing 2.4.7
pyperclip 1.7.0
python-dateutil 2.8.1
qrcode 6.1
six 1.15.0
sqrc 0.0.3
But when running the code, this is what a get:
import pyperclip
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pyperclip
ModuleNotFoundError: No module named 'pyperclip'
Any help on this?
That can be specific for a programming platform you are using. Some platforms like PyCharm enable to install modules directly from themselves so using modules becomes much easier.
Everytime I try to import the pandas2ri in jupyter, python interface:
from rpy2.robjects import pandas2ri
I get the following error:
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-28-cc52694d111a> in <module>()
----> 1 from rpy2.robjects import pandas2ri
/Users/sondosayyash/anaconda/lib/python3.6/site-packages/rpy2/robjects/pandas2ri.py in <module>()
21 import numpy
22 import pytz
---> 23 import tzlocal
24 import warnings
25
ModuleNotFoundError: No module named 'tzlocal'
I tried to use
from dateutil.tz import tzlocal
but that didn't seem to fix the issue.
I've already installed tzlocal and it is on my computer. When I import pandas2ri on ipython, there is no problem.. the problem only occurs when calling in the jupyter environment.
this is the message I get when I try to install tzlocal again:
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020.
Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Requirement already satisfied: tzlocal in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (1.5.1)
Requirement already satisfied: pytz in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from tzlocal) (2017.2)
I had a similar issue when running rpy2 in Jupyter. I did not have the package installed previously. I just installed the package and the error went away. You can try installing the package again to see if it helps resolve your issue.
pip install tzlocal
I must add that I am using Python 3.6.8 not 2.7
If using conda:
conda install tzlocal
worked.
I had a similar issue as yours. It turns out that my local lib did not have the tzlocal package. So I installed the package through Anaconda prompt:
pip install tzlocal
And the issue is gone.
I am using pip3 install tensorflow==1.8.0, but it doesn't have GPU support.
So I am using pip3 install tensorflow-gpu==1.8.0, but it still raises an exception
libcudart.so.VERSION No such file.
Should I use colab to install tensorflow from source?
After pip3 list:
tensorboard 1.10.0
tensorflow 1.10.0
tensorflow-hub 0.1.1
Google recommends you not to do pip installs!!!!
use this instead: %tensorflow_version 1.x
Restart the Runtime and check if its changed:
import tensorflow
print(tensorflow.__version__)
Here is a link to the main article:
https://colab.research.google.com/notebooks/tensorflow_version.ipynb#scrollTo=8UvRkm1JGUrk
You can downgrade Tensorflow to a previous version without GPU support on Google Colab. I ran:
!pip install tensorflow==1.14.0
import tensorflow as tf
print(tf.__version__)
which initially returned
2.0.0-dev20190130
but when I returned to it after a few hours, I got the version I requested:
1.14.0
Trying to downgrade to a version with GPU support:
!pip install tensorflow-gpu==1.14.0
requires restarting the runtime and fails, as importing import tensorflow as tf returns:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
Update
When the import fails you can always downgrade CUDA to version 9.0 using following commands
!wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64-deb
!apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
!apt-get update
!apt-get install cuda=9.0.176-1
You can check the version of CUDA by running:
!nvcc --version
Second update
This code now seems to fail, see the follow-up question at How to downgrade to tensorflow-gpu version 1.12 in google colab
Google gives quite a simple solution to downgrade to the previously used Colab tf v.1.15.2. Just run the following magic line in Colab:
%tensorflow_version 1.x
Ther recommend "against using pip install to specify a particular TensorFlow version for both GPU and TPU backends. Colab builds TensorFlow from the source to ensure compatibility with our fleet of accelerators. Versions of TensorFlow fetched from PyPI by pip may suffer from performance problems or may not work at all". This means if you need GPU support, use one of the two given TF versions. The other versions will not necessary work I guess even for CPU.
The build process for GPU-enabled tensorflow is involved. In particular, old versions of TensorFlow use (or require) older versions of CUDA, which itself depends on system libraries and configuration beyond the scope of a pip install.
I suspect that downgrading TensorFlow on a VM configured for a newer version is going to be an involved process, perhaps involving downgrades / reinstalls of system libraries.
If it's practical, it might be simpler to update your code to use the latest version of TensorFlow, at least until Colab supports persistent backend enivronments.
It seems that only tensorflow 2 is supported by Colab, but that's not true, you still can use pip to uninstall tensorflow 2 and install a specific version of tf1. !yes|pip uninstall tensorflow, !pip install tensorflow==1.15.5 Maybe you should install other dependencies. So use !pip install -r requirements.txt Attention! You must restart the runtime in order to use newly installed versions.
%tensorflow_version 1.x no longer works.
%tensorflow_version 1.x
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-2-8d2919c1d33c> in <module>
----> 1 get_ipython().run_line_magic('tensorflow_version', '1.x')
1 frames
/usr/local/lib/python3.8/dist-packages/google/colab/_tensorflow_magics.py in _tensorflow_version(line)
33
34 if line.startswith("1"):
---> 35 raise ValueError(
36 # pylint: disable=line-too-long
37 textwrap.dedent("""\
ValueError: Tensorflow 1 is unsupported in Colab.
Your notebook should be updated to use Tensorflow 2.
See the guide at https://www.tensorflow.org/guide/migrate#migrate-from-tensorflow-1x-to-tensorflow-2.
I downloaded a Python 3.5 application which needs to import requests, overpy, numpy and tk. So, when I try to import, say, requests, I get:
Traceback (most recent call last): File "", line 1, in
ImportError: No module named 'requests'
I have searched the internet for answers and the best I could find is in this link getting error for importing numpy at Python 3.5.1 . I do have other versions installed, 2.7 is installed by default, however knowing where the problem is doesn't offer a solution.
If it is relevant to configuration issues, I have a Mac with El Capitan.
Do you have pip installed? It's likely that you don't have the package readily available. You will need to download pip for your operating system (if you haven't already), then run
pip install requests
http://docs.python-requests.org/en/master/user/install/
If you have pip installed and think you have requests installed as well, then run
pip freeze
It's most likely not an issue with your python versions, though you will want to be sure when you install pip that it is installed in the correct location.