Нет модуля с именем запроса PythonAnywhere ошибка

Мне нужно использовать модуль urllib в моем коде, и я импортирую его так:

import urllib.request
import urllib.error

но PythonAnywhere возвращает следующую ошибку:

> Нет модуля с именем запроса

Похоже, библиотека urllib успешно импортируется, когда я пытаюсь:

python3 myscript.py

вместо:

python myscript.py

Но в этом случае я получаю еще одну ошибку:

> Нет модуля с именем 'pyvirtualdisplay'

Pyvirtualdisplay также необходим в моем коде, поэтому я не знаю, что делать. Может кто-нибудь помочь?

3 ответа

Решение

Модуль urllib2 был разделен на несколько модулей в Python 3 с именами urllib.request и urllib.error ~ urllib2 - документы по Python

Когда вы запускаете свой скрипт с помощью

python myscript.py

Ваша система использует python2, который не имеет urllib.request а также urllib.error модули. Использовать urllib2 библиотека.

Вам необходимо установить расширения Python в каждую используемую вами копию Python. Например, python а также python3 использовать другой набор расширений. У вас может быть сценарий под названием pip3 это устанавливает расширения в вашу копию Python 3.

В инструкциях по установке на странице проекта PyVirtualDisplay указывается, что сначала вам нужно установить pip и Pillow для Python 3. Если вы используете Debian или Ubuntu VPS, они могут работать в терминале:

sudo apt-get update
sudo apt-get install python3-pip python3-imaging
sudo pip3 install pyvirtualdisplay

Но поиск в Google говорит мне, что PythonAnywhere - это хостинг веб-приложений. Список поддерживаемых расширений включает pyvirtualdisplay в Python 2, но не в Python 3. Просто предположение, но администраторы могут не знать, что pyvirtualdisplay был перенесен. Я бы рекомендовал обратиться в службу поддержки PythonAnywhere и запросить установку расширения в Python 3.

Вы можете установить pyvirtualdisplay самостоятельно для python 3. Либо используйте virtualenv (подробности на страницах справки), либо используйте --user аргумент для pip и убедитесь, что вы используете правильную версию pip (pip3.3 или же pip3.4 в зависимости от версии, которую вы хотите использовать)

Другие вопросы по тегам