Python 命令行无法识别模块
Python command line not recognizing modules
我有一个 Python 脚本,当我在 Spyder 或其他 editors/IDEs 中 运行 它时,它 运行 非常完美,但是当我双击它时,或者尝试通过 Pentaho Shell 步骤 运行,它不会 运行 因为我正在使用 pandas 模块。
错误:
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
我该如何解决这个问题?
可能 IDE 您使用的版本或 python 可执行文件与您保存在 PATH 环境变量中的版本不同。
要准确查明是否是这样,请尝试创建一个脚本:
import sys
print(sys.executable)
尝试在 IDE 中执行并双击 and/or Pentaho Shell 步骤并注意路径是否相同。
在 IDE 外部使用脚本和您习惯使用的相同模块的一种快速 'dirty' 方法是添加(在 *nix 系统下):
#!<path-to-executable>
在脚本的开头(必须是第一行)并使脚本可执行( chmod u+x scriptname.py)。
备注:
<path-to-executable>
是您使用 print(sys.executable) 打印的路径
- 此方法不可移植! 可移植脚本的一个好方法是 package it for pypi or similar (when you finish creating it!) and specify your dependencies, or use pip to install your packages inside virtualenv。后者是我平时做和推荐的。
我有一个 Python 脚本,当我在 Spyder 或其他 editors/IDEs 中 运行 它时,它 运行 非常完美,但是当我双击它时,或者尝试通过 Pentaho Shell 步骤 运行,它不会 运行 因为我正在使用 pandas 模块。
错误:
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
我该如何解决这个问题?
可能 IDE 您使用的版本或 python 可执行文件与您保存在 PATH 环境变量中的版本不同。
要准确查明是否是这样,请尝试创建一个脚本:
import sys
print(sys.executable)
尝试在 IDE 中执行并双击 and/or Pentaho Shell 步骤并注意路径是否相同。
在 IDE 外部使用脚本和您习惯使用的相同模块的一种快速 'dirty' 方法是添加(在 *nix 系统下):
#!<path-to-executable>
在脚本的开头(必须是第一行)并使脚本可执行( chmod u+x scriptname.py)。
备注:
<path-to-executable>
是您使用 print(sys.executable) 打印的路径
- 此方法不可移植! 可移植脚本的一个好方法是 package it for pypi or similar (when you finish creating it!) and specify your dependencies, or use pip to install your packages inside virtualenv。后者是我平时做和推荐的。