如何在Linux Server上导入Python中的相邻Python文件

plicqrtu  于 2023-03-22  发布在  Linux
关注(0)|答案(1)|浏览(125)

我一直在开发一个通过Linode使用linux服务器的程序。__init__.py文件运行良好,直到我开始导入相邻的python文件(python文件与__init__.py放在同一个文件夹中)。
该程序在本地工作正常,但当从我的linode服务器上传和执行时,它返回500 Internal Server错误。
下面的语句导致运行时错误

import interpreter

我确信导入一个相邻的python文件是问题的原因,因为没有这个语句,一切都很好。我也只导入了一个名为www.example.com的虚拟文件testScript.py(其中只包含一个打印“Hello World”的模块),它也无法在服务器上运行。
我已经附上了一张图片,显示文件夹__init__.py和interpreter.py在。
包含__init__.py的文件夹如下所示:

有谁知道为什么会发生这种情况?我该如何解决这个问题?

t2a7ltrp

t2a7ltrp1#

好吧,我弄明白了。init.py运行(可以这么说)在基目录“/”而不是“/var/www/webApp/webApp”中。

subprogram_path = "/var/www/webApp/webApp/subPrograms"
sys.path.insert(0, subprogram_path)
import interpreter

上面的代码将包含www.example.com的目录添加interpreter.py到sys.path中,据我所知,它基本上是一个列表,其中包含读取import语句时搜索的所有目录。
现在,我的程序能够使用interpreter.pysuccess message upon calling my webhook中的模块
我很开心:)

相关问题