Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImportError: cannot import name utils #402

Closed
actongorton opened this issue Feb 14, 2016 · 7 comments
Closed

ImportError: cannot import name utils #402

actongorton opened this issue Feb 14, 2016 · 7 comments

Comments

@actongorton
Copy link

Not able to run Plot.ly because of error:

Traceback:

import plotly
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-35-9c23c5c2643a> in <module>()
      2 import numpy as np
      3 import dateutil
----> 4 import plotly

~/ipython-venv/lib/python2.7/site-packages/plotly/__init__.py in <module>()
     29 from __future__ import absolute_import
     30 
---> 31 from plotly import (plotly, graph_objs, grid_objs, tools, utils, session,
     32                     offline)
     33 from plotly.version import __version__

~/ipython-venv/lib/python2.7/site-packages/plotly/plotly/__init__.py in <module>()
      8 
      9 """
---> 10 from . plotly import (
     11     sign_in,
     12     update_plot_options,

~/ipython-venv/lib/python2.7/site-packages/plotly/plotly/plotly.py in <module>()
     29 from requests.auth import HTTPBasicAuth
     30 
---> 31 from plotly import exceptions, tools, utils, version, files
     32 from plotly.plotly import chunked_requests
     33 from plotly.session import (sign_in, update_session_plot_options,

~/ipython-venv/lib/python2.7/site-packages/plotly/tools.py in <module>()
     16 import math
     17 
---> 18 from plotly import utils
     19 from plotly import exceptions
     20 from plotly import graph_reference

ImportError: cannot import name utils

Requirements.txt:

appnope (0.1.0)
backports-abc (0.4)
backports.ssl-match-hostname (3.5.0.1)
beautifulsoup4 (4.4.1)
brewer2mpl (1.4.1)
certifi (2015.11.20.1)
cycler (0.9.0)
decorator (4.0.9)
functools32 (3.2.3.post2)
ggplot (0.6.8)
gnureadline (6.3.3)
ipykernel (4.2.2)
ipython (4.1.1)
ipython-genutils (0.1.0)
Jinja2 (2.8)
jsonschema (2.5.1)
jupyter-client (4.1.1)
jupyter-core (4.0.6)
MarkupSafe (0.23)
matplotlib (1.5.1)
mechanize (0.2.5)
mistune (0.7.1)
nbconvert (4.1.0)
nbformat (4.0.1)
notebook (4.1.0)
numpy (1.10.4)
pandas (0.17.1)
path.py (8.1.2)
patsy (0.4.1)
pexpect (4.0.1)
pickleshare (0.6)
pip (8.0.2)
plotly (1.9.5)
ptyprocess (0.5.1)
Pygments (2.1.1)
pyparsing (2.1.0)
python-dateutil (2.4.2)
pytz (2015.7)
pyzmq (15.2.0)
requests (2.9.1)
scipy (0.17.0)
selenium (2.52.0)
setuptools (20.1.1)
simplegeneric (0.8.1)
singledispatch (3.4.0.3)
six (1.10.0)
statsmodels (0.6.1)
termcolor (1.1.0)
terminado (0.6)
tornado (4.3)
traitlets (4.1.0)
utils (0.9.0)
@chriddyp
Copy link
Member

@acer9997 thanks for reporting! what do you mean by install utils separately? utils is referring to a module inside this package (https://github.com/plotly/plotly.py/blob/master/plotly/utils.py) not a separate package.

@actongorton
Copy link
Author

Sorry - I'm out of sorts this morning! I had two different environments running and didn't realize what I was doing. The error is still appearing. I removed that other misleading comment.

@chriddyp
Copy link
Member

got it, thanks @acer9997 . I'm not sure what's going on here yet

@chriddyp
Copy link
Member

@acer9997 - do you think it could be conflicting with the package that you have installed called utils? In your requirements.txt:

utils (0.9.0)

Thanks again for reporting!

@actongorton
Copy link
Author

@chriddyp - it could be.

I uninstalled utils and tried importing plotly again, but got a different error that I don't think is related to Plot.ly and has been occurring when trying to import matplotlib in other situations:

--------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-1-576e619f41d1> in <module>()
      3 import dateutil
      4 # from ggplot import *
----> 5 import plotly

~/ipython-venv/lib/python2.7/site-packages/plotly/__init__.py in <module>()
     29 from __future__ import absolute_import
     30 
---> 31 from plotly import (plotly, graph_objs, grid_objs, tools, utils, session,
     32                     offline)
     33 from plotly.version import __version__

~/ipython-venv/lib/python2.7/site-packages/plotly/plotly/__init__.py in <module>()
      8 
      9 """
---> 10 from . plotly import (
     11     sign_in,
     12     update_plot_options,

~/ipython-venv/lib/python2.7/site-packages/plotly/plotly/plotly.py in <module>()
     29 from requests.auth import HTTPBasicAuth
     30 
---> 31 from plotly import exceptions, tools, utils, version, files
     32 from plotly.plotly import chunked_requests
     33 from plotly.session import (sign_in, update_session_plot_options,

~/ipython-venv/lib/python2.7/site-packages/plotly/tools.py in <module>()
     32 
     33 try:
---> 34     from . import matplotlylib
     35     _matplotlylib_imported = True
     36 except ImportError:

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/__init__.py in <module>()
     12 from __future__ import absolute_import
     13 
---> 14 from plotly.matplotlylib.renderer import PlotlyRenderer
     15 from plotly.matplotlylib.mplexporter import Exporter

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/renderer.py in <module>()
     12 
     13 import plotly.graph_objs as go
---> 14 from plotly.matplotlylib.mplexporter import Renderer
     15 from plotly.matplotlylib import mpltools
     16 

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/mplexporter/__init__.py in <module>()
----> 1 from .renderers import Renderer
      2 from .exporter import Exporter

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/mplexporter/renderers/__init__.py in <module>()
      8 
      9 from .base import Renderer
---> 10 from .vega_renderer import VegaRenderer, fig_to_vega
     11 from .vincent_renderer import VincentRenderer, fig_to_vincent
     12 from .fake_renderer import FakeRenderer, FullFakeRenderer

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/mplexporter/renderers/vega_renderer.py in <module>()
      3 import random
      4 from .base import Renderer
----> 5 from ..exporter import Exporter
      6 
      7 

~/ipython-venv/lib/python2.7/site-packages/plotly/matplotlylib/mplexporter/exporter.py in <module>()
     10 
     11 import matplotlib
---> 12 from matplotlib import transforms, collections
     13 
     14 

~/ipython-venv/lib/python2.7/site-packages/matplotlib/collections.py in <module>()
     25 import matplotlib.artist as artist
     26 from matplotlib.artist import allow_rasterization
---> 27 import matplotlib.backend_bases as backend_bases
     28 import matplotlib.path as mpath
     29 from matplotlib import _path

~/ipython-venv/lib/python2.7/site-packages/matplotlib/backend_bases.py in <module>()
     60 
     61 import matplotlib.tight_bbox as tight_bbox
---> 62 import matplotlib.textpath as textpath
     63 from matplotlib.path import Path
     64 from matplotlib.cbook import mplDeprecation, warn_deprecated

~/ipython-venv/lib/python2.7/site-packages/matplotlib/textpath.py in <module>()
     13 from matplotlib.path import Path
     14 from matplotlib import rcParams
---> 15 import matplotlib.font_manager as font_manager
     16 from matplotlib.ft2font import FT2Font, KERNING_DEFAULT, LOAD_NO_HINTING
     17 from matplotlib.ft2font import LOAD_TARGET_LIGHT

~/ipython-venv/lib/python2.7/site-packages/matplotlib/font_manager.py in <module>()
   1419                 verbose.report("Using fontManager instance from %s" % _fmcache)
   1420         except:
-> 1421             _rebuild()
   1422     else:
   1423         _rebuild()

~/ipython-venv/lib/python2.7/site-packages/matplotlib/font_manager.py in _rebuild()
   1404     def _rebuild():
   1405         global fontManager
-> 1406         fontManager = FontManager()
   1407         if _fmcache:
   1408             pickle_dump(fontManager, _fmcache)

~/ipython-venv/lib/python2.7/site-packages/matplotlib/font_manager.py in __init__(self, size, weight)
   1042         #  Load TrueType fonts and create font dictionary.
   1043 
-> 1044         self.ttffiles = findSystemFonts(paths) + findSystemFonts()
   1045         self.defaultFamily = {
   1046             'ttf': 'Bitstream Vera Sans',

~/ipython-venv/lib/python2.7/site-packages/matplotlib/font_manager.py in findSystemFonts(fontpaths, fontext)
    322                     fontfiles[f] = 1
    323 
--> 324             for f in get_fontconfig_fonts(fontext):
    325                 fontfiles[f] = 1
    326 

~/ipython-venv/lib/python2.7/site-packages/matplotlib/font_manager.py in get_fontconfig_fonts(fontext)
    274         pipe = subprocess.Popen(['fc-list', '--format=%{file}\\n'],
    275                                 stdout=subprocess.PIPE,
--> 276                                 stderr=subprocess.PIPE)
    277         output = pipe.communicate()[0]
    278     except (OSError, IOError):

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags)
    708                                 p2cread, p2cwrite,
    709                                 c2pread, c2pwrite,
--> 710                                 errread, errwrite)
    711         except Exception:
    712             # Preserve original exception in case os.close raises.

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, to_close, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite)
   1332                     if e.errno != errno.ECHILD:
   1333                         raise
-> 1334                 child_exception = pickle.loads(data)
   1335                 raise child_exception
   1336 

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in loads(str)
   1386 def loads(str):
   1387     file = StringIO(str)
-> 1388     return Unpickler(file).load()
   1389 
   1390 # Doctest

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in load(self)
    862             while 1:
    863                 key = read(1)
--> 864                 dispatch[key](self)
    865         except _Stop, stopinst:
    866             return stopinst.value

/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pickle.pyc in load_string(self)
    970             if rep.startswith(q):
    971                 if len(rep) < 2 or not rep.endswith(q):
--> 972                     raise ValueError, "insecure string pickle"
    973                 rep = rep[len(q):-len(q)]
    974                 break

ValueError: insecure string pickle

@actongorton
Copy link
Author

Okay, I think that I've found something more consistent with this.

If I import matplotlib before trying to import plotly, then the "cannot import name utils" error appears.

If I restart the Python kernel and skip trying to load matplotlib, then the utils error does not appear.

I'm using inotebook and have been trying to figure out why I've been getting the insecure string pickle error with matplotlib, which is why I was trampling on top of other libraries.

@jonmmease
Copy link
Contributor

Hi @actongorton, I'm going to close this issue for now since plotly.py has been largely rewritten over the last two years, but feel free to open a new issue if you're having similar problems with ploty.py version 3. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants