首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python脚本:在Shell中运行,但在现实生活中失败,因为无法导入模块

Python脚本:在Shell中运行,但在现实生活中失败,因为无法导入模块
EN

Stack Overflow用户
提问于 2011-06-16 09:47:23
回答 4查看 2.6K关注 0票数 1

我有一个在Python Shell中运行良好的脚本,但是当双击它时,它无法导入PIL模块(但它确实在Shell中导入了PIL模块)。

怎么啦?我需要一个不同的防护罩吗?我使用的是Windows 7:

代码语言:javascript
复制
#!/usr/bin/env python
"""

"""

try:
    from   PIL import Image
    import os
    import datetime
    import time

except Exception, e:
    raw_input(str(e))

# Running this script in the Shell, the code gets to here
# Running this script in real life (just double click it) it prints "no module PIL"
EN

回答 4

Stack Overflow用户

发布于 2011-06-16 10:57:39

添加这些行

代码语言:javascript
复制
import sys
print sys.executable

添加到您的代码。当您在shell中运行它时,您将看到它是一个不同的python可执行文件,而不是双击.py文件。

如果您想要控制哪个已安装的python版本用于运行脚本,而不是简单地运行脚本,请在windows命令窗口中键入类似以下内容。

代码语言:javascript
复制
c:\python27\python.exe scriptname.py

根据需要替换python目录和脚本名称。

票数 4
EN

Stack Overflow用户

发布于 2011-06-16 10:01:57

Windows会忽略shebang行(即使它会尊重它,它也不能执行/usr/bin/env --它在Windows上并不存在)。在资源管理器中双击将启动脚本,其中包含与.py扩展关联的程序。检查是否已将其设置为正确的Python版本。

票数 2
EN

Stack Overflow用户

发布于 2011-06-16 10:04:51

听起来你已经为Python的不同版本安装了PIL,而不是在Windows中打开.py文件。如果你使用的是Python2.7,PIL会将自己安装到C:\Python27\Lib\site-packages\PIL中,在这种情况下,你需要确保Windows用C:\Python27\python.exe打开.py文件。你可以用鼠标右键点击.py文件,点击Open With ->选择default program...将其设置为您为其安装了PIL的Python版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6366282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档