「pipてなに?エレキバン?」
というレベルの私がpython3/pip/pythonのモジュールが動く環境を構築した時のメモ。
入れるもの入れまくる
python3
-> yum で
yum search python36
sudo yum install rh-python36.x86_64
PATHが通っていないので、python2に向いているシンボリックリンクをpython3に向くように作り直し
※追記:これはやらないほうがよいかも。yumなどがpythonリンクを参照しpython2で動くようになっている場合
# pythonコマンドのありかを確認
which python
# ↑で確認したパスに移動
cd /usr/bin
# すでにシンボリックリンクがあるので削除
sudo rm python
# python3に向くリンクを作成
sudo ln -s /usr/local/python/bin/python python
pip
-> yum で
yum search pip
sudo yum install rh-python36-python-pip.noarch
※追記:pythonのリンクをpython3に向けてしまうとyumがエラーになる。yumの行頭をpython2に書き換え。(#!/usr/bin/python2)
モジュール類
-> pip で
--> 後で知ったのですがpipコマンドのオプションでインストール先を指定できる模様。コマンドのヘルプを参照。
sudo pip install numpy
適当なモジュールを入れようとすると
You are using pip version 9.0.1, however version 19.0.3 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
pipのバージョンが古くて怒られる。自らをバージョンアップ。
sudo pip install --upgrade pip
動確
テストスクリプトをこちらから拝借
Pythonを使えるNumPyのインストール方法や基本的な使…|Udemy メディア
#! /usr/bin/python
import numpy as np
#配列(ndarray)
test1 = np.array([1,2,3,4,5])
#配列のから条件が満たされた要素番号を取得する
test2 = np.where(test1>=3)
print(test2[0])
成功例
./test.py
[2 3 4]
モジュールがないよエラーになる場合
./test.py
(略)
ModuleNotFoundError: No module named 'numpy'
モジュール検索のパスが違うらしい
モジュール検索のパス設定確認
pythonコンソールログイン
import sys
print(sys.path)
結果を記憶①
インストールしたモジュールがどこに置かれちゃったか確認
find / -name numpy
結果を記憶②
対応方法としては下記のどちらか
1)②を①に mv する
2)②のパスを①に追加する
1)だとモジュール追加するたびにmvしないといけなさそうなので2)のほうがよいかもしれない。