私は、「インターネット上で見つけた指示に従って」開発者によってだまされた多くのシステムを使用しています。あなたpip
とあなたpython
が同じパス/サイトパッケージを見ていないことは非常に一般的です。このため、奇妙なことに遭遇したとき、私はこれを始めることから始めます。
$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']
$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)
それは幸せなシステムです。
以下は不幸なシステムです。(あるいは、少なくともそれは他人を不幸にさせる至福の無知なシステムです。)
$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3
それは不幸ので、pip
使用して(python3.6と)であります/usr/local/lib/python3.6/site-packages
しつつpython
ある(python2.7と)を使用し/usr/local/lib/python2.7/site-packages
要件を適切な pythonにインストールしていることを確認したい場合は、次のようにします。
$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3
$ /usr/bin/python -m pip install -r requirements.txt
「破損していない場合は、修正しないでください」と聞いたことがあります。そのDevOpsバージョンは、「壊れていないのに回避できる場合は、修正しないでください」です。
--no-index
PyPIを見ないように使用してみましたか?