2017-09-25 169 views
0

我有一個Python腳本,當我在Spyder或其他編輯器/ IDE中運行它時,它運行完美,但是當我雙擊它或嘗試通過Pentaho Shell步驟運行時,因爲我正在使用熊貓模塊,因此運行。Python命令行無法識別模塊

錯誤:

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附帶的版本或Python可執行文件的版本與您在PATH環境變量中保存的不同。

要準確找出如果是這樣,嘗試創建一個腳本,例如:

import sys 
print(sys.executable) 

嘗試在IDE中,並與執行雙擊和/或Pentaho的殼牌邁,注意如果路徑是相同或不同。

快速和「髒」的方式來使用該腳本的IDE外部與您使用相同的模塊是添加(下* nix系統):

#!<path-to-executable> 

之初你腳本(必須是第一行)並使腳本可執行(chmod u + x scriptname.py)。

注:

  • <path-to-executable>就是你得到印有打印(sys.executable)
  • 這種方法是不可移植的路徑!使用便攜式腳本的好方法是使用package it for pypi或類似的方法(完成創建時!)和specify your dependencies,或使用pip在virtualenv中安裝包。後者是我通常做的和推薦的。
+0

謝謝!它的工作:D –