如何知道我的脚本正在运行哪个Python实例?

3
所以我正在尝试从任务计划程序运行脚本。但是它一直没有工作,当终端弹出并消失时,我能够读到它说“ImportError no Module named Pandas”。我的脚本可以很好地导入Pandas并正常运行,但是每当我双击脚本运行或安排自动运行时,它都会说我没有Pandas。
我的理论是它正在使用计算机上安装的另一个Python实例,该实例未安装Pandas库。但是,当我尝试在命令行上使用pip重新安装pandas时,它会返回“requirement already satisfied”。我将感激任何建议或想法供我尝试。谢谢!

1
你是正确的,你正在使用不同版本的Python。python --version将给出您系统中默认的Python版本。您可以通过在终端中键入python2.7python3.5来使用特定版本的Python。这将为您提供访问特定Python的终端。您系统中存在的不同Python版本将在路径/usr/lib/python2.X中可用。 - Bishwas Mishra
1个回答

3

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,则在文件顶部添加哈希标记(#!Python<version>,或者要使用Unix可执行文件,请添加#!/usr/bin/env python<version>)应该有助于py.exe选择要运行的正确可执行文件。
要使用pip为特定的可执行文件安装,请运行Path\To\Executable -m pip install <module>
要从不同的站点路径中使用模块,请将目录添加到PYTHONPATH环境变量中。使用import <file>将在PYTHONPATH中的目录中检查模块。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接