2017-09-25 212 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 –

相关问题