LoginSignup
2
3

More than 5 years have passed since last update.

Linuxにpython3実行環境を構築した話

Last updated at Posted at 2019-04-11

「pipてなに?エレキバン?」
というレベルの私がpython3/pip/pythonのモジュールが動く環境を構築した時のメモ。

入れるもの入れまくる

python3

-> yum で

bash
yum search python36
sudo yum install rh-python36.x86_64

PATHが通っていないので、python2に向いているシンボリックリンクをpython3に向くように作り直し
※追記:これはやらないほうがよいかも。yumなどがpythonリンクを参照しpython2で動くようになっている場合

bash
# pythonコマンドのありかを確認
which python

# ↑で確認したパスに移動
cd /usr/bin

# すでにシンボリックリンクがあるので削除
sudo rm python

# python3に向くリンクを作成
sudo ln -s /usr/local/python/bin/python python

pip

-> yum で

bash
yum search pip
sudo yum install rh-python36-python-pip.noarch

※追記:pythonのリンクをpython3に向けてしまうとyumがエラーになる。yumの行頭をpython2に書き換え。(#!/usr/bin/python2)

モジュール類

-> pip で
--> 後で知ったのですがpipコマンドのオプションでインストール先を指定できる模様。コマンドのヘルプを参照。

bash
sudo pip install numpy

適当なモジュールを入れようとすると

bash
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のバージョンが古くて怒られる。自らをバージョンアップ。

bash
sudo pip install --upgrade pip

動確

テストスクリプトをこちらから拝借
Pythonを使えるNumPyのインストール方法や基本的な使…|Udemy メディア

test.py
#! /usr/bin/python
import numpy as np

#配列(ndarray)
test1 = np.array([1,2,3,4,5])

#配列のから条件が満たされた要素番号を取得する
test2 = np.where(test1>=3)
print(test2[0])

成功例

bash
./test.py
[2 3 4]

モジュールがないよエラーになる場合

bash
./test.py
(略)
ModuleNotFoundError: No module named 'numpy'

モジュール検索のパスが違うらしい

モジュール検索のパス設定確認
pythonコンソールログイン

python(console)
import sys
print(sys.path)

結果を記憶①

インストールしたモジュールがどこに置かれちゃったか確認

bash
find / -name numpy

結果を記憶②

対応方法としては下記のどちらか
1)②を①に mv する
2)②のパスを①に追加する

1)だとモジュール追加するたびにmvしないといけなさそうなので2)のほうがよいかもしれない。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3