Python 3.5.1にはurllib2をインストールする必要があります


100

MacでPython 3.5.1を実行しています。urllib2モジュールを使いたい。インストールしようとしましたが、Python 3 urllib.requesturllib.errorPython 3に分割されていると言われました。

私のコマンド(フレームワークのbinディレクトリから実行しているのは、それが私のパスにないためです):

sudo ./pip3 install urllib.request

これを返します:

Could not find a version that satisfies the requirement urllib.request (from versions: )
No matching distribution found for urllib.request

以前にurllib2一気にインストールしようとしたときに同じエラーが発生しました。


2
urllib.requestPythonプログラムにインポートすることはできませんか?
michaelpri

3
urllib.requestは標準ライブラリの一部であり、インストールする必要はありません。
Daniel Roseman、2015


urllibはstdライブラリの一部ですが、そこには解析パッケージしか含まれていません。その中でリクエストを見つけることができませんでした...
Devendra Bhat

回答:


169

警告:セキュリティ調査により、PyPIにいくつかの有毒なパッケージが見つかりましたurllib。インストールされたときに「電話をかける」という名前のパッケージが含まれます。2017年6月以降にしばらく使用した場合は、できるだけ早くpip install urllibそのパッケージ削除してください

できませんし、する必要もありません。

urllib2Python 2に含まれているライブラリの名前です。代わりに、Python 3に含まれているurllib.requestライブラリを使用できます。urllib.requestライブラリは、urllib2Python 2で動作するのと同じように動作します。ライブラリはすでに含まれているため、インストールする必要はありません。

使用するように指示するチュートリアルに従っている場合は、urllib2さらに多くの問題が発生することがわかります。あなたのチュートリアルはPython 3ではなくPython 2用に書かれています。別のチュートリアルを見つけるか、Python 2.7をインストールしてそのバージョンでチュートリアルを続行してください。urllib2そのバージョンに付属しています。

または、より高レベルで使いやすいAPI のrequestsライブラリをインストールします。Python 2と3の両方で動作します。


24
ありがとう、それから私は使うことができました:import urllib.request as urllib2
MewX 2018年

だからpipはマルウェアに対してモデレートされていませんか?
イゴール

3
@igor:pipはどこからでもパッケージを検出してロードできるコマンドラインツールです。デフォルトのパッケージインデックスpipが移動するPyPI.org はモデレートされません。Python Software Foundationはボランティアが運営する組織であり、関係するコードの量を調整することすらできません。
Martijn Pieters

ヘッドアップをありがとう
Bファータド

28

た内容に応じて、ドキュメント

urllib2モジュールは、Python 3のurllib.requestand という名前のいくつかのモジュールに分割されていますurllib.error。2to3ツールは、ソースをPython 3に変換するときにインポートを自動的に適合させます。

だから、あなたがやりたいことは不可能であることが表示されますが、あなたはから適切なのpython3機能を使用することができますurllib.request


6

Python 3では、およびurllib2という名前の2つの組み込みモジュールに置き換えられましたurllib.requesturllib.error

ソースから適応


だからこれを交換してください:

import urllib2

これとともに:

import urllib.request as urllib2
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.