こんな人向けの内容です
- デフォルトで用意されているはずのpython3.4以降でpipがない
- じゃあpipダウンロードしよう、けどインストールができない
以下「起きたこと」で悩んでいる人には、助けになるかな。と思います
※vagrant, centos7で実施しました。
起きたこと
上記①のパターン
$ python3 -m pip list
/usr/bin/python3: No module named pip
上記②のパターン
$ sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ sudo python3 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 20651, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
もしくは、
$ sudo python3 get-pip.py
Traceback (most recent call last):
File "get-pip.py", line 20651, in <module>
main()
File "get-pip.py", line 197, in main
bootstrap(tmpdir=tmpdir)
File "get-pip.py", line 82, in bootstrap
import pip._internal
File "/tmp/tmpfmhu0bvn/pip.zip/pip/_internal/__init__.py", line 42, in <module>
File "/tmp/tmpfmhu0bvn/pip.zip/pip/_internal/cmdoptions.py", line 16, in <module>
File "/tmp/tmpfmhu0bvn/pip.zip/pip/_internal/index.py", line 24, in <module>
File "/tmp/tmpfmhu0bvn/pip.zip/pip/_internal/download.py", line 38, in <module>
File "/tmp/tmpfmhu0bvn/pip.zip/pip/_internal/utils/glibc.py", line 3, in <module>
File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module>
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'
解決策
python3
より、zlib-devel
とlibffi-devel
をインストールしておく
$ sudo yum install -y zlib-devel
$ sudo yum install -y libffi-devel
## これを実行してからpython3をインストール
## すでにに実施してたら、もう一回やる(もちろん、wget、tar解凍は不要です)
$ sudo wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
$ sudo tar xvzf Python-3.7.0.tgz
$ cd Python-3.7.0/
$ sudo ./configure
$ sudo make altinstall
思ったより、ハマってしまった。。。