我有一个64位Win7操作系统,但sys.platform的值是win32,为什么?

0 投票
1 回答
1804 浏览
提问于 2025-04-18 08:03

在Python3.4中,我有:

>>>import sys
>>>print(sys.platform)
win32

但是系统绝对是win64。

这里有一段在tkinter__init__py中的代码:

import sys
if sys.platform == "win32":
    # Attempt to configure Tcl/Tk without requiring PATH
    from tkinter import _fix

这导致了我的代码出现ImportError(导入错误)。错误追踪信息:

Traceback (most recent call last):   File "H:/User/Henri/WorkSpace/Python/DeepLearning/Try/Try01/Read_MNIST.py", line 3, in <module>
    import matplotlib.pyplot as plt   File "D:\Python34\lib\site-packages\matplotlib\pyplot.py", line 98, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()   File "D:\Python34\lib\site-packages\matplotlib\backends\__init__.py", line 28, in pylab_setup
    globals(),locals(),[backend_name],0)   File "D:\Python34\lib\site-packages\matplotlib\backends\backend_tkagg.py", line 8, in <module>
    import tkinter as Tk, tkinter.filedialog   File "D:\Python34\lib\tkinter\__init__.py", line 36, in <module>
    from tkinter import _fix   File "D:\Python34\lib\tkinter\_fix.py", line 65, in <module>
    import _tkinter ImportError: DLL load failed: %1 is invalid win32 application。

1 个回答

0

你需要花点时间来弄清楚你是在64位还是32位的Windows系统上运行。可以参考这个问题:我怎么知道我的Python环境是在32位还是64位模式下运行的?

Python对在Windows上返回的sys.platform值非常严格,可能是'win32'或者'cygwin'。

判断你使用的Windows版本就靠你自己了 :D。

撰写回答