4

我正在尝试在 FreeBSD 上为 python 3 安装“请求”模块。我使用的是 python 3.2,但我的机器上也安装了 python 2.6。

我安装了点子。

pip --version 
pip 1.1 from /usr/local/lib/python3.2/site-packages (python 3.2)

我运行了 pip install requests

我遇到了一堆语法错误,首先是:

  File "/usr/local/lib/python3.2/site-packages/requests/packages/chardet/chardistribution.py", line 48
    self._mDone = constants.False # If this flag is set to constants.True, detection is done and conclusion has been made
                                ^
SyntaxError: invalid syntax

  File "/usr/local/lib/python3.2/site-packages/requests/packages/chardet/charsetgroupprober.py", line 44
    prober.active = constants.True
                                 ^
SyntaxError: invalid syntax

  File "/usr/local/lib/python3.2/site-packages/requests/packages/chardet/constants.py", line 46
    False = __builtin__.False
  1. 我是否以某种方式获得了 python 2 版本的“请求”?
  2. 当我运行“python”时,我得到了 2.6.6 版本。我必须明确运行“python3.2”。我需要做些什么来让 3.2 成为我的默认 python 安装吗?
4

1 回答 1

10

出于某种原因,请求包括许多其他软件包,例如 oauthlib 和 chardet。但不是仅仅依赖于它们,所以它们在您安装请求时由 pip 安装,请求的 setup.py 正在尝试安装包含的包。由于某种原因,这在 Python 3 下失败了。

但是,无论如何,请求模块本身似乎都已正确安装。因此,您需要做的就是也做

pip install chardet2 urllib3

安装缺少的库。还将第三方库的包含作为请求中的错误报告。这不是怎么做的。

于 2012-08-16T21:11:42.120 回答