web-dev-qa-db-ja.com

urllib.parseというモジュールはありません(インストール方法は?)

CentOS 7でREST AP​​Iを実行しようとしています。urllib.parseはPython 3にありますが、Python 2.7.5を使用しています。このモジュールのインストール方法がわかりません。

すべての要件をインストールしましたが、プロジェクトを実行できません。

URLを探しているとき、私はこれを取得します(閲覧可能なインターフェイスを使用しています):

出力:

ImportError at /stamp/
No module named urllib.parse
41
javiercruzweb

Python2およびPython3互換のコードを記述する必要がある場合は、次のインポートを使用できます

try:
    from urllib.parse import urlparse
except ImportError:
     from urlparse import urlparse
74
Agnaldo Marinho

Python2を使用してurlparseが必要です:

from urlparse import urlparse
20

提供した情報を使用して、Python 3.xを使用するのが最善の策です。

エラーは、urllib.parseをインポートしようとしている場合、コードがPython 3向けに記述されている可能性があることを示唆しています。ソフトウェアを作成し、そのソースコードを制御している場合、shouldインポートを次のように変更します。

from urlparse import urlparse

urllibは、Pythonでurllib.parseurllib.request、およびurllib.errorに分割されました3。

CentOSのソフトウェアコレクションをすばやく確認することをお勧めします変更できない場合何らかの理由でインポート。次のようなPython 3.3を取り込むことができます。

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

SCLの詳細については、 this page outを確認してください。

17
Minn Soe

six 、Python 2および3互換性ライブラリをインストールします。

$ Sudo -H pip install six

これを使って:

from six.moves.urllib.parse import urlparse

(編集:他の回答を削除しました)

10
Martin Thoma

python3urllib.parseをサポートし、python2urlparseをサポートします

両方の互換性が必要な場合は、次のコードが役立ちます。

import sys

if ((3, 0) <= sys.version_info <= (3, 9)):
    from urllib.parse import urlparse
Elif ((2, 0) <= sys.version_info <= (2, 9)):
    from urlparse import urlparse
7
Ram Idavalapati

python 3 pip install urllibの場合

%PYTHON_HOME%\ Lib\site-packages\solrcloudpy\utils.pyでutils.pyを見つけます

import urlparse

from urllib import parse as urlparse
3
user482963

Python 3の場合、次を使用します。

import urllib.parse
1
Kingz

Urllib.parseを手動でインクルードします。 https://docs.python.org/3.3/library/urllib.parse.html#module-urllib.parse

0
Noel

問題はDjango(1.4.10)の下位バージョンがあったため、Django Rest Frameworkには少なくともDjango 1.4.11以上が必要だからです。彼らの回答をありがとう!

Django Restの要件へのリンク: http://www.Django-rest-framework.org/

0
javiercruzweb