Tidak dapat menginstal modul python urlparse

9

beberapa program yang ditulis dengan Python 2.7 mengeluhkan hal itu ImportError: No module named 'urlparse'. Jadi saya perlu menginstal modul, tetapi saya tidak dapat melakukannya. Modul itu ada, dijelaskan misalnya di https://docs.python.org/2/library/urlparse.html . Namun, baik apt-get install, atau pip installdapat menemukan modul bernama urlparse, python-urlparse, urllib, python-urllib... - Saya mendapatkan pesan seperti Could not find any downloads that satisfy the requirement ...Satu-satunya pengecualian adalah paket python-urllib3yang mungkin berisi file yang dibutuhkan tetapi untuk Python 3 dan pemasangan yang tidak membantu.

Saya telah menginstal pip, bukan pip3karena saya memerlukan modul untuk Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)). Ubuntu saya adalah Xubuntu 13.10.

Di mana masalahnya? Apakah pipmencari modul di tempat yang tepat? Saya tidak tahu lokasi apa yang harus dicari ...

Lebih terkenal
sumber
lihat outputpip search urlparse
kenn
urlparseadalah bagian dari perpustakaan standar, yaitu secara otomatis diinstal bersama dengan Python itu sendiri. Anda tidak akan dapat menginstal il melalui apt, pip atau easy_install.
Andrea Corbellini
Ubuntu 13.10 kedaluwarsa.
enedil

Jawaban:

13

urlparseadalah bagian dari pustaka Python 2 standar. Ini dikirim sebagai bagian dari Python; itu tidak dikemas secara terpisah pada PyPI et al. urlparse.urlparse(fungsi) berganti nama menjadi Python 3 menjadi urllib.parse.

Jadi, beberapa hal untuk dilihat:

  • Program Python 2 Anda mungkin berjalan di bawah Python 3. Periksa skrip peluncuran untuk melihat bagaimana ia mengambil versi Python mana. Mungkin harus dimulai #!/usr/bin/env python2tetapi juga periksa (dengan menjalankan env python2) bahwa memuat Python 2.

  • Sesuatu telah dimakan /usr/lib/python2.7/urlparse.py, dalam hal ini instal ulang libpython2.7-stdlibpaket dengan:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • Atau Anda memiliki file lokal yang menyebabkan kerusakan ...

Oli
sumber
11

Jika Anda perlu menulis kode yang kompatibel dengan Python2 dan Python3 Anda dapat menggunakan impor berikut

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse
Tully
sumber
2

Jika Anda menggunakan python 2 instal menggunakan

pip install urlparse2
Waqar Detho
sumber