4

FreeBSD の python 3 用に「リクエスト」モジュールをインストールしようとしています。私はpython 3.2を使用していますが、マシンにはpython 2.6もインストールされています。

pipをインストールしました。

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 で失敗します。

ただし、 requests モジュール自体はとにかく適切にインストールされるようです。したがって、あなたがする必要があるのは、次のことも行うことだけです

pip install chardet2 urllib3

不足しているライブラリをインストールします。また、リクエストにサードパーティのライブラリが含まれていることをバグとして報告してください。それはそれを行う方法ではありません。

于 2012-08-16T21:11:42.120 に答える