2017-09-25 7 views
0

私はSpyderや他のエディタ/ IDEでPythonスクリプトを実行していますが、完全に動作しますが、ダブルクリックするか、Pentaho Shellステップで実行しようとすると、私はpandasモジュールを使用しているため、実行しません。Pythonコマンドラインでモジュールが認識されない

ERROR:

2017/09/25 16:00:18 - etl_script.py - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : (stderr) Traceback (most recent call last): 
2017/09/25 16:00:18 - etl_script.py - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : (stderr) File "C:\Users\giorge.luiz\etl_script.py", line 8, in <module> 
2017/09/25 16:00:18 - etl_script.py - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : (stderr) import pandas as pd 
2017/09/25 16:00:18 - etl_script.py - ERROR (version 7.1.0.0-12, build 1 from 2017-05-16 17.18.02 by buildguy) : (stderr) ImportError: No module named pandas 

どのように私はこの問題を解決することができますか?

+1

複数のpythonバージョンがインストールされていますか?あなたは仮想環境を走っていますか? – CoryKramer

+1

おそらくIDEまたはエクスプローラから起動されるのと同じインストールではないためです。 –

答えて

1

あなたが使用しているIDEは、あなたのPATH環境変数に保存したものとは異なるバージョンまたはPython実行可能ファイルを持っています。パスがある場合

import sys 
print(sys.executable) 

は、IDE内で、クリック、ダブルおよび/またはPentahoのシェルステップと予告して実行するようにしてください:まさにそれがそうであるならば、のようなスクリプトを作成してみてください見つけるために

同じまたは異なる。

あなたがするために使用されているのと同じモジュールとIDEの外にスクリプトを使用するために迅速かつ「汚い」の方法は、(* nixシステム下)を追加することです:

#!<path-to-executable> 

あなたの先頭にscript(最初の行でなければなりません)を実行し、スクリプトを実行可能にします(chmod u + x scriptname.py)。

注:

  • <path-to-executable>は、あなたがこの方法では、ポータブルではありませんプリント(sys.executable)
  • で印刷しますパスです!(あなたがそれの作成を完了したときに)ポータブルスクリプトを持っているのに最適な方法は、package it for pypiまたは同様にあるとspecify your dependencies、またはvirtualenvの内側にあなたのパッケージをインストールするためにピップを使用しています。後者は私がいつもやっていることです。
+0

ありがとう!それは働いた:D –

関連する問題