Нет модуля с именем запроса 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
в зависимости от версии, которую вы хотите использовать)