可移植Python未启动脚本

可移植Python未启动脚本,python,portability,Python,Portability,诺布问题 我正在试用可移植Python,但无法让它从Python-Portable.exe可执行文件加载脚本。我正在从命令行运行: > Python-Portable.exe hello.py 为了让它加载hello.py,我把它放在与可执行文件相同的级别上,以防万一,放在与真正的python.exe可执行文件相同的级别上。它启动PortablePython,显示一秒钟的初始屏幕,然后显示一个控制台窗口并立即关闭它 但是,如果我使用命令行直接启动python.exe,将其传递给hello

诺布问题

我正在试用可移植Python,但无法让它从Python-Portable.exe可执行文件加载脚本。我正在从命令行运行:

> Python-Portable.exe hello.py
为了让它加载hello.py,我把它放在与可执行文件相同的级别上,以防万一,放在与真正的python.exe可执行文件相同的级别上。它启动PortablePython,显示一秒钟的初始屏幕,然后显示一个控制台窗口并立即关闭它

但是,如果我使用命令行直接启动python.exe,将其传递给hello.py,它将正常工作。两个问题:

为什么使用Python-Portable.exe无法工作

启动Python-Portable.exe和直接启动Python.exe有什么区别

编辑:这是hello.py,它是可移植Python网站上使用的示例

print("Hello world")

a = True
if a == True:
    print("It is true!")
else:
    print("It is false...")

b = raw_input("Enter value:")
print("Your value is")
print(b)

raw_input("Press enter to continue...")
在hello.py中输入错误


错误代码不会运行,您也不会得到任何反馈

hello.py的内容是什么?如果是简单的
打印(“Hello,world!”)
那么当脚本完成时,可移植python进程将结束。如果在hello.py的末尾添加一行
input()
,脚本将等待输入(在收到输入后,它将完成),并且可能具有您期望的行为?我同意您的观点,但不是这样。我已经包含了hello.py的代码。当直接通过Python.exe.Understand运行时,它的行为与预期完全相同-只需检查:)下一个调试问题-您的Python可移植使用哪个版本?Python3中没有raw_input()-该调用将导致
namererror
,这可能会使脚本崩溃并关闭窗口。如果将对
raw\u input
的调用替换为对
input
的调用,会发生什么?它运行的是Py 2.7,因此代码应该是gravvy。正如我所说,直接用python.exe运行它是可以的,但是PortablePython.exe(我假设它只是充当python.exe的缓冲区)对它没有任何作用。如果我在运行PortablePython.exe时给它一个命令行参数,它会很好地加载交互式解释器。啊,我是个白痴,有一行糟糕的代码阻止了它的运行,它似乎不会给出错误输出。下次复制粘贴你的代码,而不是示例页面中的代码-很难调试你看不到的代码;)我复制了两份hello.py,以防工作路径位于python.exe文件夹的下方。当我直接用python.exe运行它时,它运行的是不同版本的hello.py(正确版本)。损坏的版本有while(1),后面没有冒号或代码。即便如此,一件东西的两份拷贝也很少是个好主意。