I'm running Python 2.7.6 on an Ubuntu machine. When I run twill-sh (Twill is a browser used for testing websites) in my Terminal, I'm getting the following:
Traceback (most recent call last):
File "dep.py", line 2, in <module>
import twill.commands
File "/usr/local/lib/python2.7/dist-packages/twill/__init__.py", line 52, in <module>
from shell import TwillCommandLoop
File "/usr/local/lib/python2.7/dist-packages/twill/shell.py", line 9, in <module>
from twill import commands, parse, __version__
File "/usr/local/lib/python2.7/dist-packages/twill/commands.py", line 75, in <module>
browser = TwillBrowser()
File "/usr/local/lib/python2.7/dist-packages/twill/browser.py", line 31, in __init__
from requests.packages.urllib3 import connectionpool as cpl
ImportError: No module named packages.urllib3
However, I can import urllib in Python console just fine. What could be the reason?
There is a difference between the standard
urllibandurllib2and the third-partyurllib3.It looks like twill does not install the dependencies so you have to do it yourself. Twill depends on
requestslibrary which comes with and usesurllib3behind the scenes. You also needlxmlandcssselectlibraries.You can install them on terminal as follows:
pip install requestspip install lxmland
pip install cssselect