【发布时间】:2016-12-23 18:56:16
【问题描述】:
好的,我知道这个问题已经被问/回答了很多次,但解决方案在我的情况下不起作用。我在 Raspberry Pi 上的无头 linux 终端上使用 2.7 创建了一个 Python 脚本,它在该环境中完美运行。
该脚本包含一个 sqlite3 数据库。在我的 Windows 10 机器上,如果我只是从 Desktop 中双击 Python 脚本,它会创建 database.db 文件,但 Python 命令提示符在我看到输出之前关闭。
在 Windows 命令提示符下运行 Python 脚本,例如 'start C:\Users\User\Desktop\script.py' 执行完全相同的操作
使用 Run 和 'cmd /k C:\Users\User\Desktop\script.py' 确实使命令窗口持续存在,但随后在打开 sqlite3 数据库的行上出错:
Traceback (most recent call last):
File "C:\Users\User\Desktop\script.py", line 91, in <module>
conn = sqlite3.connect("database.db")
sqlite3.OperationalError: unable to open database file
我在 Windows 上的原因是我试图用 Tkinter 构建一个 GUI,而我的 R Pi 没有 GUI,感谢帮助
【问题讨论】:
-
您不需要
cmd /k或start。只需在命令提示符下运行C:\Users\User\Desktop\script.py。 -
好的,谢谢,我已经习惯了 Linux 命令行并且无法适应 Windows
-
实际上它不起作用,Python Script 使用此方法无法正确执行,如果缺少 database.db 用户必须输入创建数据库,使用上述方法不会出现这种情况跨度>
-
不应该这样。在程序开头添加
input(os.getpid())以打印PID 并使其等待。然后在Process Explorer 中,检查进程属性中的“图像”选项卡中的路径、命令行和当前目录。不使用start会发生什么变化? -
我终于想通了,我必须在 PATH 中添加 Python 作为路径,现在只需使用 C:\Users\User\Desktop\script.py