{"action":"created","issue":{"url":"https://api.github.com/repos/dato-code/SFrame/issues/265","repository_url":"https://api.github.com/repos/dato-code/SFrame","labels_url":"https://api.github.com/repos/dato-code/SFrame/issues/265/labels{/name}","comments_url":"https://api.github.com/repos/dato-code/SFrame/issues/265/comments","events_url":"https://api.github.com/repos/dato-code/SFrame/issues/265/events","html_url":"https://github.com/dato-code/SFrame/issues/265","id":149466755,"number":265,"title":"Python 3 import errors after clean install","user":{"login":"hershaw","id":424192,"avatar_url":"https://avatars.githubusercontent.com/u/424192?v=3","gravatar_id":"","url":"https://api.github.com/users/hershaw","html_url":"https://github.com/hershaw","followers_url":"https://api.github.com/users/hershaw/followers","following_url":"https://api.github.com/users/hershaw/following{/other_user}","gists_url":"https://api.github.com/users/hershaw/gists{/gist_id}","starred_url":"https://api.github.com/users/hershaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hershaw/subscriptions","organizations_url":"https://api.github.com/users/hershaw/orgs","repos_url":"https://api.github.com/users/hershaw/repos","events_url":"https://api.github.com/users/hershaw/events{/privacy}","received_events_url":"https://api.github.com/users/hershaw/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-04-19T13:49:21Z","updated_at":"2016-04-20T17:20:34Z","closed_at":null,"body":"On python 3.4 with an Ubuntu 14.04 machine I create a virtual environment, install `sframe` via `pip` and when I import sframe I get the following:\r\n\r\n```\r\n(benchmarks-tmp)jj@sframe-8:~$ uname -a\r\nLinux sframe-8 3.19.0-58-generic #64~14.04.1-Ubuntu SMP Fri Mar 18 19:05:43 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux\r\n(benchmarks-tmp)jj@sframe-8:~$ python\r\nPython 3.4.3 (default, Oct 14 2015, 20:28:29) \r\n[GCC 4.8.4] on linux\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n>>> import sframe\r\nTraceback (most recent call last):\r\n  File \"<stdin>\", line 1, in <module>\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/sframe/__init__.py\", line 42, in <module>\r\n    from .toolkits._model import Model, CustomModel, load_model\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/sframe/toolkits/_model.py\", line 19, in <module>\r\n    from .. import _gl_pickle\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/sframe/_gl_pickle.py\", line 11, in <module>\r\n    from .util import _get_aws_credentials as _util_get_aws_credentials, \\\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/sframe/util/file_util.py\", line 18, in <module>\r\n    import boto\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/boto/__init__.py\", line 1216, in <module>\r\n    boto.plugin.load_plugins(config)\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/boto/plugin.py\", line 93, in load_plugins\r\n    _import_module(file)\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/site-packages/boto/plugin.py\", line 75, in _import_module\r\n    return imp.load_module(name, file, filename, data)\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/imp.py\", line 235, in load_module\r\n    return load_source(name, filename, file)\r\n  File \"/home/jj/.virtualenvs/benchmarks-tmp/lib/python3.4/imp.py\", line 171, in load_source\r\n    module = methods.load()\r\n  File \"/usr/share/google/boto/boto_plugins/compute_auth.py\", line 18, in <module>\r\n    import urllib2\r\nImportError: No module named 'urllib2'\r\n>>> \r\n```\r\n\r\nIn the same virtual environment with pandas installed, I get a slightly different error:\r\n\r\n```\r\n(benchmarks)jj@sframe-8:~/benchmarks$ python\r\nPython 3.4.3 (default, Oct 14 2015, 20:28:29) \r\n[GCC 4.8.4] on linux\r\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\r\n>>> import sframe\r\nTraceback (most recent call last):\r\n  File \"<stdin>\", line 1, in <module>\r\n  File \"/home/jj/.virtualenvs/benchmarks/lib/python3.4/site-packages/sframe/__init__.py\", line 42, in <module>\r\n    from .toolkits._model import Model, CustomModel, load_model\r\n  File \"/home/jj/.virtualenvs/benchmarks/lib/python3.4/site-packages/sframe/toolkits/_model.py\", line 19, in <module>\r\n    from .. import _gl_pickle\r\n  File \"/home/jj/.virtualenvs/benchmarks/lib/python3.4/site-packages/sframe/_gl_pickle.py\", line 11, in <module>\r\n    from .util import _get_aws_credentials as _util_get_aws_credentials, \\\r\n  File \"/home/jj/.virtualenvs/benchmarks/lib/python3.4/site-packages/sframe/util/file_util.py\", line 18, in <module>\r\n    import boto\r\n  File \"/home/jj/.virtualenvs/benchmarks/lib/python3.4/site-packages/boto/__init__.py\", line 1045, in <module>\r\n    boto.plugin.load_plugins(config)\r\nAttributeError: 'module' object has no attribute 'plugin'\r\n>>> \r\n(benchmarks)jj@sframe-8:~/benchmarks$ pip freeze\r\nSFrame==1.8.5\r\nawscli==1.6.2\r\nbcdoc==0.12.2\r\nboto==2.33.0\r\nbotocore==0.73.0\r\ncertifi==2015.04.28\r\ncolorama==0.2.5\r\ndecorator==3.4.0\r\ndocutils==0.12\r\njmespath==0.5.0\r\nmultipledispatch==0.4.8\r\nnumpy==1.11.0\r\npandas==0.18.0\r\nprettytable==0.7.2\r\npyasn1==0.1.9\r\npython-dateutil==2.5.2\r\npytz==2016.3\r\nrequests==2.9.1\r\nrsa==3.1.2\r\nsix==1.10.0\r\ntornado==4.1\r\n```\r\n\r\nAs a quick hack for now, I'm placing a file called `urllib2.py` on my import path which only contains the following:\r\n\r\n```\r\nimport urllib.request as urllib2\r\n```\r\n\r\nNote: on OS X 10.6 this is not an issue."},"comment":{"url":"https://api.github.com/repos/dato-code/SFrame/issues/comments/212521972","html_url":"https://github.com/dato-code/SFrame/issues/265#issuecomment-212521972","issue_url":"https://api.github.com/repos/dato-code/SFrame/issues/265","id":212521972,"user":{"login":"esamanas","id":414912,"avatar_url":"https://avatars.githubusercontent.com/u/414912?v=3","gravatar_id":"","url":"https://api.github.com/users/esamanas","html_url":"https://github.com/esamanas","followers_url":"https://api.github.com/users/esamanas/followers","following_url":"https://api.github.com/users/esamanas/following{/other_user}","gists_url":"https://api.github.com/users/esamanas/gists{/gist_id}","starred_url":"https://api.github.com/users/esamanas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esamanas/subscriptions","organizations_url":"https://api.github.com/users/esamanas/orgs","repos_url":"https://api.github.com/users/esamanas/repos","events_url":"https://api.github.com/users/esamanas/events{/privacy}","received_events_url":"https://api.github.com/users/esamanas/received_events","type":"User","site_admin":false},"created_at":"2016-04-20T17:20:34Z","updated_at":"2016-04-20T17:20:34Z","body":"Yeah, so far I don't know of any problems (other than this one) that we've hit with the combination of Python 3.4 and boto 2.33. It appears boto2 had been sort of incorporating Python 3.3 and 3.4 support and then boto3 was made? So it seems like boto 2.33 won't completely break on Python 3.4, but some versions of boto2 will run in to problems. More problems are inevitable as time passes.\r\n\r\nSo yeah, we should switch to boto3. I don't know how different the APIs are either. This may take a bit of time to complete. I'll bring it up and see if we can get it on someone's priority list."}}