web-dev-qa-db-ja.com

Python 3.5.1用のurllib2をインストールする必要があります。

私はPython 3.5.1 for Macを使っています。 urllib2を使いたいインストールしようとしましたが、Python 3ではurllib.requestとurllib.errorに分割されていると言われました。

私のコマンド(フレームワークの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を一度にインストールしようとしたときに同じエラーが発生しました。

66
Eamonn Gormley

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

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

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

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

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

123
Martijn Pieters

docs :に従って

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

だからあなたが望むことを正確に行うことは不可能だと思われますが、あなたはurllib.requestから適切なpython3関数を使うことができます。

19
Ilya V. Schurov

あなたのpythonスクリプトの始めには以下のようになるべきです:

import urllib2

その後、以下のような無料の例で進むことができます。

response = urllib2.urlopen('http://pythonforbeginners.com/')
print response.info()
html = response.read()
response.close()  # best practice to close the file

あるいは、以下のように 'import urllib2'の後にこの自由な例で進みます。

page = urllib2.urlopen('http://0.0.0.0')
print page.info()
1
dschinn1001