【问题标题】:Python Anywhere issue using Urllib2 with virtualenv [duplicate]使用带有 virtualenv 的 Urllib2 的 Python Anywhere 问题 [重复]
【发布时间】:2015-06-25 17:37:25
【问题描述】:

我在 PythonAnywhere 上使用 Django 服务器,使用 virtualenv。在服务器中,我使用抓取代码编写文本文件,代码使用 urllib2,默认情况下应该捆绑在 python 中,但存在各种错误:

pip install urllib2

找不到满足 urllib2 要求的版本(来自版本:)
找不到与 urllib2 匹配的分布

apt-get install python-urllib2

E: 无法打开锁定文件 /var/lib/dpkg/lock - open (13: Permission denied) E: 无法锁定管理目录 (/var/lib/dpkg/),你是root吗?

当然问题的根源是这个(来自 python 控制台):

import urllib2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'urllib2'

【问题讨论】:

  • 有点离题,但如果你以前没有遇到过它,你应该看看requests,一个非常不错的http库。

标签: python django urllib2 pythonanywhere


【解决方案1】:

在 Python 2 中,urllib2 是标准库的一部分。您不必使用 pip 或包管理器安装它,它已经是 Python 2 安装的一部分。

pip 命令失败,因为没有要安装的外部包 urllib2。

apt-get 命令失败,因为您没有正确的权限。即使你使用 sudo 或切换到 root,它也会失败,因为 Python-urllib2 不存在。

如果您使用的是 Python 3,则 urllib2 模块不再存在,并且已在 urllib.requesturllib.error 之间拆分。您需要更新代码以使用 Python 3 中的新 urllib 模块。

【讨论】:

  • 听起来您可能正在使用 Python 3,在这种情况下 urllib2 不存在。请参阅我的更新答案。
猜你喜欢
  • 2019-04-28
  • 2021-04-17
  • 2011-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
相关资源
最近更新 更多