【问题标题】:Python 3.2 doesn't work with python 2.7Python 3.2 不适用于 python 2.7
【发布时间】:2012-01-13 15:05:22
【问题描述】:

我已经有 python 2.7(使用 activepython 安装)。我正在尝试使用 python 3.2 来了解更多信息,所以我从 python.org 下载了它

python 2.7 仍然可以完美运行,但是当我尝试打开 ide 时,python 3.2 给了我这个错误。

然后我看到 send error 窗口,如果我使用 activepython 安装 python 3.2,我会看到同样的错误。

我使用的是 windows xp pro sp3 32 位,我在 sp2 上遇到了同样的错误...我该如何解决?

编辑@Zuljin

这是我第一次使用dependency walker,请您帮帮我

这是我看到的

这是什么意思?我已经有了这些文件...

【问题讨论】:

  • 去掉 'w' 并尝试打开 C:\Python32\python.exe?使用任务管理器确保您没有运行现有的 pythonw 实例。我看到了会话偶尔终止的问题。
  • ...说真的:我不知道微软的操作系统,但是如果你在提示符下运行pythonw.exe,你不会看到更具体的错误信息吗?跨度>
  • @mac 如果我运行 pythonw.exe 我什么也看不到大声笑
  • @LanceCollins 为了从 pythonw 中获取“w”,我必须将 python.exe 重命名为其他名称,即便如此 - python 2.7 将无法工作,python 3.2 将显示发送错误窗口 - 但运行时错误会消失...关闭大声笑...几乎修复它:(
  • 你不需要重命名任何东西,两个发行版都有 python 和 pythonw 可执行文件。恕我直言,答案不仅仅是切换到 linux。 Python 在 Windows 中相当健壮。发行版、库等的安装通常只需单击两次或python setup.py install。对不起,我不能说 linux 总是一样

标签: python windows-xp python-3.x python-2.7 activepython


【解决方案1】:

我在这里看到了很多答案。但是,我认为您尝试运行的文件不正确

C:\Python32\Pythonw.exe

不是你用来开idle的那个。

打开

C:\Python32\Lib\idlelib\idle.pyw

【讨论】:

  • 我的电脑无法打开文件,它显示了一个打开方式窗口,我必须选择一个程序来打开它,现在该怎么办?跨度>
  • 这很奇怪!它不应该发生。尝试重新安装python3。因为,只有当它无法理解 python 文件时才会发生这种情况。或者更好的是,在重新安装之前,在弹出“打开方式”窗口时选择python.exe。
  • 顺便说一句,您可以在 c:\python32 文件夹中找到 python.exe。让我知道会发生什么?
  • 尝试重新安装python3。如果没有任何效果,我不会介意 Skype 会话,如果它对你来说太重要而无法让他们工作。
  • 我已经重装了 python 3 很多次了,它就是无法工作,不,让 python 3 工作并不重要,因为我的主要 python 是 2.7,谢谢兄弟
【解决方案2】:

Python 2.x 和 3.x 可以在 win xp 和 win 7 中完美共存,无论是 32 位还是 64 位。 如果您首先安装了 ActiveState Python 发行版,请在安装 python-3.2.2.msi 时小心。 当您到达自定义 python 3.2.2 屏幕时,(取消)选中“注册扩展”以使该功能不可用(即:不要注册扩展)。

到目前为止,我已经在不同的计算机上以这种方式安装了两个发行版,没有任何问题。

注意:检查您的环境变量。只有 python 2.7 应该在路径中(如果你在两个发行版之前安装,你可以将它们都放在路径中。删除 python 3.2 路径)

编辑: 从 Ankit 帖子中,我意识到实际上您可能正在尝试打开 IDLE。 如果您在从 py3.2 idlelib 文件夹调用 idle.bat 时按照我的安装说明进行操作,那么您实际上会在 python 2.7 中获得空闲,因为这是在 Windows 路径中找到的调用。为了能够在存在 python 2.7 作为注册 python 的情况下为 py3.2 打开空闲,我使用了一个从分发中修改的 .bat 文件:

idle_stay.bat

@echo off
rem Working IDLE bat for Windows - Custom bat for py3k as secundary python
C:\Python32\pythonw C:\Python32\Lib\idlelib\idle.pyw %1 %2 %3 %4 %5 %6 %7 %8 %9

取名idle_stay.bat是因为我把这个文件放在了官方idle.bat所在的文件夹(C:\Python32\Lib\idlelib\idle_stay.bat)。这样,每次我卸载并重新安装新版本的 python 3 时它都不会被覆盖

【讨论】:

  • 在我的路径中没有找到 python 3.2.2,我找到了 python 2.5 并删除了它,因为我不使用它......无论如何仍然是同样的错误,还有其他想法吗?跨度>
  • 忍不住。也许您应该尝试卸载这两个发行版,清除它们在注册表中的所有指纹并重新安装。
  • Python 2.5?。糟糕,不应该是 python 2.7。看来你有点搞砸了
  • 不,我不会卸载 python 2.7,因为我上面有很多库......顺便说一句,这是一个老问题,所以我之前试图卸载它们,但同样的事情发生了:D thx反正你的时间哈哈!对此,我真的非常感激!享受这个星期六的经典,哈哈:D
  • 我很久以前就卸载了python 2.5,不知道为什么还在我的环境变量中
【解决方案3】:

在我看来,您已将 *.py 或 *.pyw 文件扩展名类型与您不清楚的某些版本的 python.exe 和/或 pythonw.exe 相关联。这通常但不完全是在 Microsoft 的“explore.exe”文件管理器中完成的(我相信选项)。

我不同意这是一种可靠的方法:

C:\Python32\Lib\idlelib\idle.pyw 

因为此方法将运行分配给“pyw”扩展名的任何程序。那可能是:

C:\Python32\pythonw.exe 

C:\Python26\python.exe

或者根据操作系统或错误的 PATH 环境变量设置,您的文件扩展名关联可能发生了什么。最好这样做:

C:\Python32\pythonw.exe C:\Python32\Lib\idlelib\idle.pyw

您明确告诉操作系统从特定路径运行 python 可执行文件并在文件/文件夹层次结构中选择特定 python 脚本。

您可以尝试收集信息的另一件事是:

python.exe -V

它会告诉你版本号。

你可以做的另一件事: 打开 DOS 命令提示符并键入:

set PATH=C:\Windows;C:\Windows\system32;C:\Python32
python.exe      and note the version and whether is runs.
exit()
exit

一旦工作调试您的 PATH。您可以使用此 Python 脚本收集情报。

如果你关闭了你的 WinXP findfile 东西(就像我一样)你可以使用这个脚本:

inpath.py 可以帮助阐明一些问题。 像这样运行这个 python 脚本:

  1. 转到 DOS 提示符
  2. cd 到您的文件夹,其中包含工作 python.exe 版本。
  3. 并键入 python.exe inpath.py python* 其中 inpath 位于此测试/调试的同一文件夹中。

inpath.py 将在您的路径中搜索所有在您的操作系统中关联为“可运行”的文件,并且在您的“PATH”中使用 python*.* 模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2017-02-22
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多