我需要在我的代码中使用 urllib 模块,我将其导入为:
import urllib.request
import urllib.error
但PythonAnywhere返回以下错误:
>没有名为request
的模块尝试时, urllib 库似乎已成功导入:
python3 myscript.py
而不是:
python myscript.py
但是在这种情况下我得到另一个错误:
>没有名为'pyvirtualdisplay'的模块
我的代码中还需要Pyvirtualdisplay ,所以我不知道该怎么做。有人可以帮忙吗?
答案 0 :(得分:3)
urllib2模块已经拆分为Python 3中名为urllib.request和urllib.error的几个模块 〜urllib2 - python docs
使用
运行脚本时python myscript.py
您的系统使用的是没有urllib.request
和urllib.error
模块的python2。使用urllib2
库。
答案 1 :(得分:2)
您需要在您使用的每个Python副本中安装Python扩展。例如,python
和python3
使用不同的扩展集。您可能有一个名为pip3
的脚本,它将扩展安装到您的Python 3副本中。
PyVirtualDisplay project page上的安装说明首先需要为Python 3安装pip和Pillow。如果您使用的是Debian或Ubuntu VPS,这些可能适用于终端:< / p>
sudo apt-get update
sudo apt-get install python3-pip python3-imaging
sudo pip3 install pyvirtualdisplay
但Google搜索告诉我PythonAnywhere是一个Web应用程序托管服务。 list of supported extensions包括Python 2中的pyvirtualdisplay,但不包含在Python 3中。只是猜测,但管理员可能不知道pyvirtualdisplay已被移植。我建议联系PythonAnywhere支持并请求将扩展安装到Python 3中。
答案 2 :(得分:1)
您可以自己为python 3安装pyvirtualdisplay。使用virtualenv(帮助页面上有详细信息)或使用--user
参数进行pip并确保使用正确版本的pip({{1} }或pip3.3
,具体取决于您要使用的版本)