質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

2684閲覧

pythonモジュールをインポートできない

NSSAITO

総合スコア1

import

自身のプラットフォーム・プログラム・データセットに対して、外部ソースを取り込むプロセスをimportと呼びます。

パス

パス(path)はファイルシステムの場所(階層)を明示したものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2021/12/23 06:57

編集2021/12/23 07:41

前提・実現したいこと

レンタルサーバー(conoha Wing)上にてpythonで作ったCGIを動かそうとしています。

発生している問題・エラーメッセージ

モジュールをインポートするところでエラーが発生します。
ModuleNotFoundError: No module named 'numpy'

(re,timeはimportできます。pandasはできません。)

該当のソースコード

python

1#!/opt/alt/python36/bin/python3.6 2# -*- coding: utf-8 -*- 3 4import sys 5sys.path.append('/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages') 6 7import re 8import time 9import numpy as np 10import pandas as pd

pip install numpy
とすると下記のようになり,すでにinstallされています。

Requirement already satisfied: numpy in ./.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages (1.18.1)

上記フォルダを確認すると
numpy
numpy-1.18.1-py3.7.egg-info
2つのフォルダがあります。

試したこと

パスが通っていないのではと思い,モジュールがある場所を調べパスを追加したのですが,それでも同じエラーが発生します。

ちなみに,print(sys.path)で出力してみるとパスは通っているように思えます。

['/home/c0000000/public_html/noh-en.com/test',
'/opt/alt/python36/lib64/python36.zip',
'/opt/alt/python36/lib64/python3.6',
'/opt/alt/python36/lib64/python3.6/lib-dynload',
'/opt/alt/python36/lib64/python3.6/site-packages',
'/opt/alt/python36/lib/python3.6/site-packages',
'/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages']

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

siruku6

2021/12/23 07:03 編集

以下3点、可能であれば質問文欄に追記してもらえると、回答者が回答しやすくなるかもしれません。 ①numpyをインストールする際に使用したコマンドは何でしたか? ②それをもう一度実行するとどんな結果が表示されますか? ③numpyがインストールされたディレクトリを確認した結果はどうなっていましたか?
quickquip

2021/12/23 07:09 編集

/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages があるんですか? /home/hogehoge/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages ではなくて? (合っていてもインポートはエラーになると思いますが)
NSSAITO

2021/12/24 05:33

ありがとうございます。 パスを /home/hogehoge/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages にすると通っているようですが,ご指摘の通りバージョンが混在していることが悪さをしているようです。
guest

回答2

0

ベストアンサー

Requirement already satisfied: numpy in ./.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages (1.18.1)
で、 ./.pyenv/〜 と先頭にドットがついていますから、numpyがインストールされている場所は、「pip install numpy を実行した時のディレクトリ」の下の
.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages です。

pip install numpy を実行したディレクトリが /home/hogehoge だったなら、
/home/hogehoge/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages です。


ただ、
/opt/alt/python36/ 配下のPythonは3.6でしょうから、/home/hogehoge/.pyenv/versions/anaconda3-2020.02/lib/python3.7/site-packages を sys.path に追加してもインポートできるわけではありません。
/opt/alt/python36/ が使えるnumpyをインストールすることを目指さないと駄目だと思いますよ。


/opt/alt/python36/bin/pip

があるなら、

/opt/alt/python36/bin/pip install --user numpy

で、~/.local/lib/python3.6/site-packages/にインストールされるかもしれません。

投稿2021/12/24 00:33

編集2021/12/24 06:31
quickquip

総合スコア11038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NSSAITO

2021/12/24 07:59

シバン行を以下に修正して,後からインストールしたpython3.7を起動するようにしたら, 解決しました。 #!/home/0000000/.pyenv/versions/anaconda3-2020.02/bin/python ありがとうございます。
guest

0

NSSAITOさんのpCのPythonにnumpyやpandasがインストールされていても、それはレンタルサーバー(conoha Wing)でうごいているPythonとは別の話です。

レンタルサーバー(conoha Wing)のPythonにpipを使って必要なモジュールをインストールする必要があります。

投稿2021/12/23 07:38

ppaul

総合スコア24666

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

NSSAITO

2021/12/23 20:25

そこは承知しているつもりです。 SSH接続してサーバー内にインストールしています。
ppaul

2021/12/23 22:25

レンタルサーバー(conoha Wing)には/opt/alt/python36のPython3.6と、anaconda3-2020.02に入れてあるPython3.7の二つのPythonをインストールしたのでしょうか?
NSSAITO

2021/12/24 05:35

/opt/alt/python36のPython3.6はもともとサーバーに備わっているもの,anaconda3-2020.02は後からインストールしたものです。バージョンの違いが悪さをしているようです。
NSSAITO

2021/12/24 07:59

シバン行を以下に修正して,後からインストールしたpython3.7を起動するようにしたら, 解決しました。 #!/home/0000000/.pyenv/versions/anaconda3-2020.02/bin/python ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問