ไม่สามารถติดตั้ง urlparse โมดูล python


9

บางโปรแกรมเขียนในหลาม 2.7 ImportError: No module named 'urlparse'บ่นว่า ดังนั้นฉันต้องติดตั้งโมดูล แต่ฉันไม่สามารถทำได้ โมดูลที่ไม่อยู่ก็มีการอธิบายไว้เช่นที่https://docs.python.org/2/library/urlparse.html แต่ไม่apt-get installไม่pip installสามารถที่จะหาโมดูลชื่อurlparse, python-urlparse, urllib, python-urllib... - ฉันได้รับข้อความเช่น Could not find any downloads that satisfy the requirement ...ยกเว้นเพียงเป็นแพคเกจpython-urllib3ซึ่งอาจมีไฟล์ที่จำเป็น แต่สำหรับงูหลาม 3 และการติดตั้งที่ไม่ได้ช่วย

ฉันติดตั้งpipแล้วไม่ใช่pip3เพราะฉันต้องการโมดูลสำหรับ Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)) Ubuntu ของฉันคือ Xubuntu 13.10

มีปัญหาอยู่ที่ไหน มีการpipค้นหาสำหรับโมดูลในสถานที่ที่เหมาะสมหรือไม่ ฉันไม่รู้ว่าจะค้นหาตำแหน่งใดใน ...


ตรวจสอบผลลัพธ์จากpip search urlparse
kenn

urlparseเป็นส่วนหนึ่งของไลบรารี่มาตรฐานนั่นคือมันถูกติดตั้งพร้อมกับ Python เองโดยอัตโนมัติ คุณจะไม่สามารถติดตั้ง il ผ่าน apt, pip หรือ easy_install
Andrea Corbellini

Ubuntu 13.10 ล้าสมัย
enedil

คำตอบ:


13

urlparseเป็นส่วนหนึ่งของไลบรารี Python 2 มาตรฐาน มันจัดส่งเป็นส่วนหนึ่งของ Python มันไม่ได้บรรจุแยกต่างหากใน PyPI และคณะ urlparse.urlparse(ฟังก์ชั่น) ถูกเปลี่ยนชื่อในหลาม urllib.parse3

ดังนั้นบางสิ่งที่ต้องดู:

  • โปรแกรม Python 2 ของคุณอาจทำงานภายใต้ Python 3 ตรวจสอบสคริปต์การเรียกใช้งานเพื่อดูว่าจะเลือกเวอร์ชันใดของ Python มันควรจะเริ่ม#!/usr/bin/env python2แต่ควรตรวจสอบอีกครั้ง (โดยเรียกใช้env python2) ที่โหลด Python 2 ขึ้นมา

  • มีบางอย่างที่กินเข้าไป/usr/lib/python2.7/urlparse.pyซึ่งในกรณีนี้จะติดตั้งlibpython2.7-stdlibแพ็คเกจใหม่ด้วย:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • หรือคุณมีไฟล์ในเครื่องที่ก่อให้เกิดความเสียหาย ...


11

หากคุณจำเป็นต้องเขียนรหัสซึ่งรองรับ Python2 และ Python3 คุณสามารถใช้การนำเข้าต่อไปนี้

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.