2015-03-31 41 views
20

Tôi đang cố gắng chạy một API REST trên CentOS 7, tôi đọc urllib.parse là trong Python 3 nhưng tôi đang sử dụng Python 2.7.5 vì vậy tôi không biết cách cài đặt mô-đun này.không có mô-đun có tên urllib.parse (Làm thế nào tôi nên cài đặt nó?)

Tôi đã cài đặt tất cả các yêu cầu nhưng vẫn không thể chạy dự án.

Khi tôi đang tìm kiếm một URL tôi có được điều này (Tôi đang sử dụng giao diện có thể xem):

Output:

ImportError at /stamp/ 
No module named urllib.parse 

Trả lời

12

Bạn muốn urlparse sử dụng python2:

from urlparse import urlparse 
13

Với thông tin bạn đã cung cấp, đặt cược tốt nhất của bạn sẽ là sử dụng Python 3.x.

Lỗi của bạn cho thấy mã có thể đã được viết cho Python 3 do mã đó đang cố gắng nhập urllib.parse. Nếu bạn đã viết phần mềm và có thể kiểm soát mã nguồn của nó, bạn nên thay đổi nhập khẩu:

from urlparse import urlparse 

urllib được chia thành urllib.parse, urllib.request, và urllib.error bằng Python 3.

tôi đề nghị bạn hãy xem nhanh các bộ sưu tập phần mềm trong CentOS nếu bạn không thể thay đổi việc nhập khẩu vì một lý do nào đó. Bạn có thể mang bằng Python 3.3 như thế này:

  1. yum install centos­-release­-SCL
  2. yum install python33
  3. scl enable python33

Kiểm tra this trang ra để biết thêm về SCLs

0

Vấn đề là vì tôi đã có phiên bản thấp hơn của Django (1.4.10), vì vậy Django Rest Framework cần ít nhất Django 1.4.1 1 hoặc lớn hơn. Cảm ơn những người trả lời của họ!

Đây là liên kết cho các yêu cầu của Django giải trí: http://www.django-rest-framework.org/

-4
pip install -U websocket 

tôi chỉ sử dụng này để sửa chữa vấn đề của tôi

+0

Tôi đã thấy câu trả lời ở đâu đó và ngay cả khi điều đó giải quyết được vấn đề vì urlparse là phụ thuộc, không phải là cách thích hợp để giải quyết nó. – erm3nda

32

Nếu bạn cần phải viết mã mà là python2 và Python3 tương thích, bạn có thể sử dụng nhập khẩu sau

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

Trả lời cẩn thận về cả py2 và py3 tốt hơn nhiều :-) – erm3nda

0

Đối với Python 3, sử dụng như sau:

import urllib.parse 
3

Đối với python 3 pip install urllib

tìm số utils.py trong% PYTHON_HOME% \ Lib \ site-packages \ solrcloudpy \ utils.py

thay đổi các import urlparse để

from urllib import parse as urlparse 
0

Install six, Python 2 và 3 Compatibility Thư viện:

$ sudo -H pip install six 

Sử dụng nó:

from six.moves.urllib.parse import urlparse 

(chỉnh sửa: Tôi đã xóa khác answer)

Các vấn đề liên quan