diadia

興味があることをやってみる。自分のメモを残しておきます。

centos7にpythonやpipを入れる

centos7にepelを使う

以下のコマンドでepelをいれることができる。このepelを使ってpithon,pipを入れていく。各コマンドはrootユーザ出ない場合、sudoを付け加えること。

参考:https://cjsawer.whitewillow.co.uk/2018/08/29/epel-python-3-6-with-pip-on-centos-7/

yum install epel-release
# Install Python 3.6
yum install python36

# Install Pip from the RPM's internal "ensurepip" module
python3.6 -m ensurepip

# Symlink pip3 into /usr/bin for consistency and ease of use with sudo
ln -s /usr/local/bin/pip3 /usr/bin/pip3

epelの場合pythonを起動するときはpython36として起動する。
ちなみにiusの場合はpython3.6として起動する。

epelをいれる理由

centos7では保守的なリポジトリで構成されているので、使いたいソフトウェアが入っていないことが多い。centos7に相性の良いリポジトリの一つがepelである。epelをインストールすると、もともとインストールできなかったソフトウエアをyumで実現できるようになる。

 

epelについて

epelについての情報:https://fedoraproject.org/wiki/About_EPEL/ja

epelはfedoraで使っている環境(パッケージ)をcentosなどの互換ディストリビューションでも使えるようにすることが目的のようだ。

epel以外のpython,pipをcentosに入れる方法は?

レポジトリとしてius,PostgreSQLの公式レポジトリ,remiがepel以外にあるようだ。
PostgreSQLの公式レポジトリ:https://yum.postgresql.org/

https://xn--o9j8h1c9hb5756dt0ua226amc1a.com/?p=3196

yum install https://centos7.iuscommunity.org/ius-release.rpm
yum info python36u

pipは別なのでpipもインストールする

yum install python36u python36u-pip python36u-devel

pipのバージョンが古いのでアップグレードしておく。rootにユーザーを変える必要ある。sudoでもできるか??

# pip3.6 install --upgrade pip

rootにしておかないとpipのアップグレードでエラーが起きてしまうので注意しておくこと。エラー内容は、PermissionError: [Errno 13] Permission denied: '/usr/bin/pip3.6'がでる。コマンドは

$ python3.6 -m pip install --upgrade pip

どうやらpermission deniedとなっているこのエラーは、管理者権限に関するエラーのようだ。

参考:https://teratail.com/questions/142008#reply-214645
https://teratail.com/questions/179746#reply-267445