gpt4 book ai didi

python - 警告 : Error in py_run_file_impl: NameError: name '__file__' is not defined

转载 作者:行者123 更新时间:2023-12-01 01:45:12 25 4
gpt4 key购买 nike

我正在尝试通过 R 在 Shiny 中运行一个名为 tss.py 的 python 文件。我成功运行了这个文件。但是当我通过 Shiny 用户界面运行 python 文件时,它给了我错误。当我在 Pycharm 中运行此 tss.py 时,我没有收到任何错误。有谁知道我该如何解决这个问题?

文件路径:

D:\PycharmProjects\Tasks\applications\tss.py
D:\PycharmProjects\Tasks\server.R

Server.R:

observeEvent(input$action,{
py_run_file("applications/tss.py")
})

tss.py:

import os
import sys
sys.path.append(os.path.split(os.path.dirname(os.path.realpath(__file__)))[0])
print("Mayday! Mayday!")

错误:

Warning: Error in py_run_file_impl: NameError: name '__file__' is not defined
76: <Anonymous>

请不要将此问题标记为重复。我是在 R 中得到的,而不是在 Python 中得到的。有谁知道我该如何解决这个问题?

最佳答案

我不知道为什么__file__未定义,可能是启动器的错误。当包是内置的或程序通过 cx_freeze 运行时,通常会发生这种情况。或py2exe ,这里的情况并非如此。

就您而言,解决方法是使用 sys.argv[0]作为这个值。它在这里起作用是因为它是您正在运行的主程序。使用辅助包它不会工作(但__file__也许会:))

所以我建议将其添加到您的 tss.py 中文件

import sys # must be done before
try:
__file__
except NameError:
__file__ = sys.argv[0]

所以如果 __file__存在,好吧,就这样吧,否则将其定义为正在运行的脚本的文件路径。

关于python - 警告 : Error in py_run_file_impl: NameError: name '__file__' is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51442205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com