How to install and use IB API within Colab? - google-colaboratory

I am creating a notebook on Google Colab to run trading algorithms which execute on Interactive Brokers (IB). I want to use the IB API for this.
My current code downloads and installs the API:
# Install IB and related libraries
!wget -cq http://interactivebrokers.github.io/downloads/twsapi_macunix.975.01.zip
!unzip -qq -o twsapi_macunix.975.01.zip
!cd IBJts/source/pythonclient && python setup.py build install
!pip install ib_insync
!pip install ibapi
# Import generic libraries
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import datetime # For datetime objects
import os.path # To manage paths
import sys # To find out the script name (in argv[0])
import pandas as pd
import numpy as np
import matplotlib as plt
import time
from datetime import datetime
import argparse
# Import IB and IB_InSync, and start an IB connection
from ib_insync import *
from ibapi import *
The last line returns an error:
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-4-3cdef93fab15> in <module>()
48 from ib_insync import *
---> 49 from ibapi import *
ModuleNotFoundError: No module named 'ibapi'
As the installation seems to run properly, I do not understand why I cannot import the API for use in the subsequent code.
Thanks already for your help!

Found a workaround by installing the library directly from the .egg file:
'''
ib_path='/usr/local/lib/python3.6/dist-packages/ibapi-9.75.1-py3.6.egg'
sys.path.append(ib_path)
from ibapi import *
'''

Related

cannot import name 'get_config' from 'tensorflow.python.eager.context'?

I'm trying to follow this repo's tutorial on colabhttps://github.com/divamgupta/image-segmentation-keras
but I'm getting this error again and again
cannot import name 'get_config' from 'tensorflow.python.eager.context' (/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/context.py)
I googled it a lot so I found some solutions that solved same problems for them, like upgrade tensorflow version or using from tensorflow import keras instead of import keras
or add this code snippet
!pip install --upgrade tensorflow
!pip install --upgrade tensorflow-gpu
But none of them worked!
Full error codes are as follow
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-10-5c4963dc4fff> in <module>()
1 from tensorflow import keras
2 from tensorflow.keras.preprocessing import image
----> 3 from keras_segmentation.models.unet import vgg_unet
4
5 model = vgg_unet(n_classes=50 , input_height=320, input_width=640 )
3 frames
/usr/local/lib/python3.7/dist-packages/keras_segmentation/models/unet.py in <module>()
----> 1 from keras.models import *
2 from keras.layers import *
3
4 from .config import IMAGE_ORDERING
5 from .model_utils import get_segmentation_model
/usr/local/lib/python3.7/dist-packages/keras/__init__.py in <module>()
23
24 # See b/110718070#comment18 for more details about this import.
---> 25 from keras import models
26
27 from keras.engine.input_layer import Input
/usr/local/lib/python3.7/dist-packages/keras/models.py in <module>()
17
18 import tensorflow.compat.v2 as tf
---> 19 from keras import backend
20 from keras import metrics as metrics_module
21 from keras import optimizer_v1
/usr/local/lib/python3.7/dist-packages/keras/backend.py in <module>()
35 from tensorflow.python.distribute import distribute_coordinator as dc
36 from tensorflow.python.distribute import distribute_coordinator_context as dc_context
---> 37 from tensorflow.python.eager.context import get_config
38 from tensorflow.python.framework import config
39 from keras import backend_config
ImportError: cannot import name 'get_config' from 'tensorflow.python.eager.context' (/usr/local/lib/python3.7/dist-packages/tensorflow/python/eager/context.py)
---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------
Full codes are as follow
!pip install keras-segmentation
!pip install keras==2.4.3
#!pip install tensorflow==2.4.1
!pip install tensorflow==2.5.0
!apt-get install -y libsm6 libxext6 libxrender-dev
!pip install opencv-python
!pip install --upgrade tensorflow
!pip install --upgrade tensorflow-gpu
! wget https://github.com/divamgupta/datasets/releases/download/seg/dataset1.zip && unzip dataset1.zip
from tensorflow import keras
from tensorflow.keras.preprocessing import image
from keras_segmentation.models.unet import vgg_unet
model = vgg_unet(n_classes=50 , input_height=320, input_width=640 )
model.train(
train_images = "dataset1/images_prepped_train/",
train_annotations = "dataset1/annotations_prepped_train/",
checkpoints_path = "/tmp/vgg_unet_1" , epochs=5
)
out = model.predict_segmentation(
inp="dataset1/images_prepped_test/0016E5_07965.png",
out_fname="/tmp/out.png"
)
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
plt.imshow(out)
from IPython.display import Image
Image('/tmp/out.png')
o = model.predict_segmentation(
inp="dataset1/images_prepped_test/0016E5_07965.png",
out_fname="/tmp/out.png" , overlay_img=True, show_legends=True,
class_names = [ "Sky", "Building", "Pole","Road","Pavement","Tree","SignSymbol", "Fence", "Car","Pedestrian", "Bicyclist"]
)
from IPython.display import Image
Image('/tmp/out.png')
I would appreciate any of your help
thanks in advance
From comments
It was just a matter of version
with tensorflow and keras. I looked into traceback tensorflow error
messages and opened it and changed import keras to from tensorflow import keras issue was resolved (Paraphrased from z2ouu).

ImportError: cannot import name 'animation' from partially initialized module 'matplotlib'

I'm facing the following erro:
ImportError Traceback (most recent call last)
<ipython-input-1-0484cd13f94d> in <module>
----> 1 import matplotlib
~\Anaconda3\lib\site-packages\matplotlib\__init__.py in <module>
105 # cbook must import matplotlib only within function
106 # definitions, so it is safe to import from it here.
--> 107 from . import cbook, rcsetup
108 from matplotlib.cbook import MatplotlibDeprecationWarning, sanitize_sequence
109 from matplotlib.cbook import mplDeprecation # deprecated
~\Anaconda3\lib\site-packages\matplotlib\rcsetup.py in <module>
24 import numpy as np
25
---> 26 from matplotlib import animation, cbook
27 from matplotlib.cbook import ls_mapper
28 from matplotlib.fontconfig_pattern import parse_fontconfig_pattern
ImportError: cannot import name 'animation' from partially initialized module 'matplotlib'
I've removed matplotlib and then reinstalled it. I've also tried to use pip install matplotlib --force-reinstall --user command, but the error persists. The most curious is that matplotlib runs properly when I run Python in Windows Prompt Command, but not in Jupyter or Spider. I cant use admin privileges. Im running python 3.8.5 and matplotlib 3.4.2.

pip install PyRQA in Google colab

Hope someone can help me, when I try to install and run PyRQA in colab in the GPU runtime and after run the next code:
pip install PyRQA
from pyrqa.time_series import TimeSeries
from pyrqa.settings import Settings
from pyrqa.analysis_type import Classic
from pyrqa.neighbourhood import FixedRadius
from pyrqa.metric import EuclideanMetric
from pyrqa.computation import RQAComputation
from pyrqa.computation import RPComputation
from pyrqa.image_generator import ImageGenerator
give me the next error.
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-6c56a517e983> in <module>()
4 from pyrqa.neighbourhood import FixedRadius
5 from pyrqa.metric import EuclideanMetric
----> 6 from pyrqa.computation import RQAComputation
7 from pyrqa.computation import RPComputation
8 from pyrqa.image_generator import ImageGenerator
6 frames
/usr/local/lib/python3.6/dist-packages/pyopencl/tools.py in <module>()
35 from decorator import decorator
36 from pytools import memoize, memoize_method
---> 37 from pyopencl._cl import bitlog2 # noqa: F401
38 from pytools.persistent_dict import KeyBuilder as KeyBuilderBase
39
ImportError: /usr/lib64-nvidia/libOpenCL.so.1: version `OPENCL_2.1' not found (required by /usr/local/lib/python3.6/dist-packages/pyopencl/_cl.cpython-36m-x86_64-linux-gnu.so)
---------------------------------------------------------------------------
NOTE: If your import is failing due to a missing package, you can
manually install dependencies using either !pip or !apt.
To view examples of installing some common dependencies, click the
"Open Examples" button below.
---------------------------------------------------------------------------
Some days ago it works fine, but after yesterday it doesn't work anymore

tf.VERSION is always 1.6.0 even though I installed the latest version

Please help me to solve the problem - I use Google's Colaboratory to run tensor_hub example Text classification with TF-Hub, it needs the version later than 1.7.0, but the version I installed is 1.8.0.
# Install the latest Tensorflow version.
!pip install --quiet "tensorflow>=1.7"
# Install TF-Hub.
!pip install tensorflow-hub
import tensorflow as tf
import tensorflow_hub as hub
import matplotlib.pyplot as plt
import numpy as np
import os
import pandas as pd
import re
import seaborn as sns
RuntimeErrorTraceback (most recent call last) <ipython-input-20-48e1bdaa8642> in <module>()
1 import tensorflow as tf
----> 2 import tensorflow_hub as hub
3 import matplotlib.pyplot as plt
4 import numpy as np
5 import os
/usr/local/lib/python2.7/dist-packages/tensorflow_hub/__init__.py in <module>()
63
64 # Comment/uncomment to skip checking the TensorFlow version.
---> 65 _check_tensorflow_version(tf.VERSION)
66
67 # Used by doc generation script.
/usr/local/lib/python2.7/dist-packages/tensorflow_hub/__init__.py in
_check_tensorflow_version(version)
60 "TensorFlow Hub depends on 'tf-nightly' build after %s or "
61 "'tensorflow~=%s'. Found tf.VERSION = %s" % (
---> 62 _NIGHTLY_VERSION, _MAIN_VERSION, version))
63
64 # Comment/uncomment to skip checking the TensorFlow version.
RuntimeError: TensorFlow Hub depends on 'tf-nightly' build after 20180308 or 'tensorflow~=1.7'. Found tf.VERSION = 1.6.0
Good news: TF 1.7 is now available by default. :)
The underlying problem you were hitting is just that python caches loaded modules in sys.modules -- re-importing a module doesn't pick up the new version until you restart the process, as Korakot noted.
You may need to restart the runtime.
menu > Runtime > Restart runtime...

Keras import error: cannot import np_utils

import keras
Runs in the following error. My python is installed with Anaconda and I have done pip install Tensorflow / Keras / Numpy
ImportError Traceback (most recent call
last)
<ipython-input-7-c74e2bd4ca71> in <module>()
----> 1 import keras
/Users/florianfontaine-papion/anaconda2/lib/python2.7/site-
packages/keras/__init__.py in <module>()
1 from __future__ import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
/Users/florianfontaine-papion/anaconda2/lib/python2.7/site-packages/keras/utils/__init__.py in <module>()
1 from __future__ import absolute_import
----> 2 from . import np_utils
3 from . import generic_utils
4 from . import data_utils
5 from . import io_utils
ImportError: cannot import name np_utils
First, check whether Keras is installed or not by running following command in terminal. If you are using python3, use python3 in place of python.
python -c 'import keras; print(keras.__version__)'
And if above command showing error do the following
Open terminal and type this
anaconda-navigator
Go to Environments tab present on left side
Select your destined environment
It will list all the packages installed. In first dropdown select ALL and in search bar type keras
It will list keras package. Select it and click apply at bottom
Done