2017-06-16 40 views
0

所以我想从任务调度器运行脚本。它没有工作,在第二个终端弹出并消失,我能够读取它说:“ImportError没有模块名为熊猫”我的脚本导入熊猫罚款和完美运行,但每当我双击脚本运行或安排它自动运行,它说我没有熊猫。如何知道我的脚本正在运行哪个Python实例?

我的理论是,它使用的是安装在这台没有安装Pandas库的计算机上的另一个Python实例。但是,当我尝试使用pip在命令行上重新安装熊猫时,它会发回“需求已满足”。我会很感激任何建议或想法让我去尝试。谢谢!

+1

你说得对,你正在使用不同版本的Python。 'python --version'会为你提供系统中默认的Python版本。您可以通过在终端中键入'python2.7'或'python3.5'来使用特定版本的python。这将使您能够访问特定的Python。您的系统中存在的不同python版本将在路径中提供:'/ usr/lib/python2.X'。 –

回答

1

sys.version_infosys.version包含正在运行的Python版本。 sys.executable包含特定解释器运行的路径。

Python3:

>>> import sys 
>>> sys.version_info 
sys.version_info(major=3, minor=4, micro=3, releaselevel='final', serial=0) 
>>> sys.version 
'3.4.3 (default, Nov 17 2016, 01:08:31) \n[GCC 4.8.4]' 
>>> sys.executable 
'/usr/bin/python3' 

Python2:

>>> import sys 
>>> sys.version_info 
sys.version_info(major=2, minor=7, micro=6, releaselevel='final', serial=0) 
>>> sys.version 
'2.7.6 (default, Oct 26 2016, 20:30:19) \n[GCC 4.8.4]' 
>>> sys.executable 
'/usr/bin/python2' 

这个问题似乎是你的注册表编辑器已经设置了不同的版本设置为 “上单击” 为Python的可执行文件运行。您可以通过运行所需版本的Python安装程序并将其设置为修复或修改“HKEY_CLASSES_ROOT \ Python.File \ Shell \ open \ command”来运行正确的python可执行文件(应该是“C:\ Windows” \ py.exe“)。请参阅this image以了解在哪里可以找到它。

如果您已经使用py.exe,加入hashbang到文件的顶部(#!Python<version>,或Unix的可执行文件的工作,#!/usr/bin/env python<version>)应该帮助py.exe选择正确的可执行文件运行。

要使用pip安装特定的可执行文件,请运行Path\To\Executable -m pip install <module>

要使用来自其他站点路径的模块,请将该目录添加到PYTHONPATH环境变量中。使用import <file>将检查PYTHONPATH中目录中的模块。

相关问题