2

こんにちは、インストールしようとしていますpython-twitterが、依存関係の 1 つがHTTPLIB2多くの問題を引き起こしています。ネットでいろいろ調べましたが、どれがいいキーワードなのかわからないかもしれません。これが問題です。

をインストールしてpython-twitterいます。たとえば、要件を1つずつインストールするか、"pip install -r requirements.txt"1つずつ実行します"pip install httplib2"。それから私は走り"python setup.py install"ます。満足していますが、次のように"python setup.py test"失敗し、次のエラーが発生しimport HTTPLIB2ます。

python setup.py test
running test
running egg_info
writing requirements to python_twitter.egg-info/requires.txt
writing python_twitter.egg-info/PKG-INFO
writing top-level names to python_twitter.egg-info/top_level.txt
writing dependency_links to python_twitter.egg-info/dependency_links.txt
reading manifest file 'python_twitter.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching '.DS_Store'
writing manifest file 'python_twitter.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
File "setup.py", line 73, in <module>
    Main()
  File "setup.py", line 66, in Main
    setuptools.setup(**METADATA)
  File                            

....

<deleted these parts to save space>
    module = __import__('.'.join(parts_copy))
  File "/Users/ME/Downloads/python-twitter-1.0/twitter_test.py", line 30, in <module>
    import twitter
  File "/Users/ME/Downloads/python-twitter-1.0/twitter.py", line 65, in <module>
    import oauth2 as oauth
  File "/usr/local/lib/python2.7/site-packages/oauth2/__init__.py", line 32, in <module>
    import httplib2
  File "/usr/local/lib/python2.7/site-packages/httplib2/__init__.py", line 347
    print('%s:' % h, end=' ', file=self._fp)
                    ^
SyntaxError: invalid syntax

しかし、印刷エラーはpython 2と3の間の非互換性であると思いました。明らかにpython 2.7を持っているのに、なぜこれが発生するのですか(HTTPLIB2をチェックしてアンインストールし、再インストールしました)。ご協力ありがとうございました

4

2 に答える 2

2

Just in case, this happens when you install httplib2 with a python3 version of pip and then execute it with python2.

This happens for example when creating manually an environment with:

pip install -t lib/ -r requirements

As it happens when creating an AppEngine standard environment vendor folder.

This happens because contrary to most of the libraries, httplib2 has completely different versions for python2 and python3.

于 2016-06-09T23:30:42.853 に答える