Right now we always run the check to make sure read/write permissions are available for the user's .plotly directory. We do it with a call to tools.ensure_local_plotly_files() on the import of plotly/plotly/plotly.py. Becuase of our recursive imports this package is always imported and so we always check for these permissions.
Because of use-cases like that in #1068, where a bunch of jobs are running on a cluster and are just doing offline plotting, we shouldn't do this check unless we're actually using the plotly.plotly package to communicate with the plot.ly servers.