2014-12-12 32 views
8

Ubuntu makinede Python 2.7.6 çalıştırıyorum.Nasıl düzeltilir ImportError: modules.urllib3 adlı bir modül yok mu?

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 

Ancak, ben sadece iyi Python konsolunda urllib alabilirsiniz: Ben twill-sh benim Terminalinde (kabartılmış test web siteleri için kullanılan bir tarayıcı) çalıştırdığınızda, aşağıdaki alıyorum. Sebebi ne olabilir?

cevap

13

Standart urllib ve urllib2 ile üçüncü taraf urllib3 arasında bir fark vardır.

Dimi bağımlılıkları yüklemiyor gibi görünmüyor, böylece bunu kendiniz yapmanız gerekiyor. Twill, sahne arkasında urllib3 ile birlikte gelen requests kitaplığına bağlıdır. Ayrıca, lxml ve cssselect kitaplıklarına da ihtiyacınız var. aşağıdaki gibi

Terminaldeki yükleyebilirsiniz:

pip install requests

pip install lxml

ve

pip install cssselect

+0

Eğer genelde kuruyorsanız, yukarıdaki komutların her birini sudo ile root veya prefix'e geçmeniz ve ilkinden sonra şifrenizi yazmanız gerekebilir. –

+1

Evet, bu paketleri zaten yükledim. Önce python-pip'i kurdum, sonra pip kullanarak diğer paketleri kurdum. Hata mesajında ​​değişiklik yok. Python'u tekrar kurdum, ama şans yok. –

+4

Aynı hatayı gösteren bu adımları takip ettim, her seferinde sudo pip install - upgrade kullanmam gerekiyordu. – bkzland

17

zaten 'istekleri' varsayılan bir yapı yüklü varsa,

için gerekebilir

I followed these steps having the same error, I needed to use sudo pip install --upgrade each time to make it work. – bkzland Dec 17 '15 at 12:57

--- şimdi, bunu nasıl benim setup.py dosyası bir bağımlılık yapabilirim:

sudo pip install --upgrade requests

Krediönceki cevap üzerine yorum yapmaktan @bkzland için?

+1

kurulumda ekle 'require = ['request']' – Eli

+0

İsteklerin eski versiyonunu bulamaz mıydı, bağımlılıklar şimdi karşılandı ve OP'nin gözlemlediği başarısızlığı elde ettik mi? – FlipMcF

4

sonra bir RHEL tabanlı lezzet, yaşıyorsanız:

yum install -y python-requests

Debian/Ubuntu tabanlı lezzet:

apt-get install -y python-requests

Arch Linux tabanlı lezzet:

pacman -S python-requests

İlgili konular