Không thể cài đặt urlpar mô-đun python


9

một số chương trình viết bằng Python 2.7 phàn nàn rằng ImportError: No module named 'urlparse'. Vì vậy, tôi cần phải cài đặt mô-đun, nhưng tôi không thể làm điều đó. Mô-đun tồn tại, nó được mô tả, ví dụ như tại https://docs.python.org/2/l Library / urlparse.html . Tuy nhiên, không phải apt-get install, cũng không pip installcó thể tìm thấy một module có tên urlparse, python-urlparse, urllib, python-urllib... - Tôi nhận được tin nhắn như Could not find any downloads that satisfy the requirement ...Ngoại lệ duy nhất là gói python-urllib3mà có lẽ chứa các file cần thiết nhưng đối với Python 3 và lắp đặt mà không được giúp đỡ.

Tôi đã cài đặt pip, không phải pip3vì tôi cần mô-đun cho Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)). Ubuntu của tôi là Xubfox 13.10.

Vấn đề ở đâu? Đang piptìm kiếm các mô-đun ở đúng nơi? Tôi không biết nên tìm vị trí nào trong ...


kiểm tra đầu ra củapip search urlparse
kenn

urlparselà một phần của thư viện chuẩn, tức là nó được cài đặt tự động cùng với chính Python. Bạn sẽ không thể cài đặt il thông qua apt, pip hoặc easy_install.
Andrea Corbellini

Ubuntu 13.10 đã hết hạn.
enedil

Câu trả lời:


13

urlparselà một phần của thư viện Python 2 tiêu chuẩn. Nó được vận chuyển như một phần của Python; nó không được đóng gói riêng trên PyPI et al. urlparse.urlparse(hàm) đã được đổi tên trong Python 3 thành urllib.parse.

Vì vậy, một vài điều cần xem xét:

  • Chương trình Python 2 của bạn có thể đang chạy trong Python 3. Kiểm tra tập lệnh khởi chạy để xem cách nó chọn phiên bản Python nào. Có lẽ nên bắt đầu #!/usr/bin/env python2nhưng cũng kiểm tra lại (bằng cách chạy env python2) để tải Python 2 lên.

  • Một cái gì đó đã ăn /usr/lib/python2.7/urlparse.py, trong trường hợp đó cài đặt lại libpython2.7-stdlibgói với:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • Hoặc bạn có một tệp cục bộ gây ra nghịch ngợm ...


11

Nếu bạn cần viết mã tương thích với Python2 và Python3, bạn có thể sử dụng thao tác nhập sau

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse

2

Nếu bạn đang sử dụng python 2, hãy cài đặt nó bằng

pip install urlparse2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.