从Express Server调用具有其他模块依赖性的python脚本,没有得到名为error

时间:2018-08-17 02:13:53

标签: python express import

我有一个Express服务器,该服务器的端点连接到python脚本。从快速端点调用的python脚本在另一个python脚本中调用一个函数。


在Express方面,项目层次结构如下所示:

app.js

路线(文件夹)

|-> get.js


在我的apps.js文件中,我具有以下几行代码:

let getRouter = require('./routes/get');
app.use('/get', getRouter);

在我的get.js文件中,我有一个子进程,该子进程调用名为BaseGet.py的python脚本。

在这个python文件中,我使用sys获取从快速服务器端点传入的参数,并将这些值传递到我从另一个名为GetData.py的文件中导入的函数中。


这是python文件夹结构:

基本(文件夹)

|-> BaseGet.py

助手

|-> GetData.py


在BaseGet.py中,我有以下代码行:

GetData = importlib.import_module("Helper.GetData")

我在GetData模块(文件)中调用一个名为get_data的函数,如下所示:

GetData.get_data()

当我仅在python中运行此函数时,函数和导入均按预期运行,并显示正确的输出。这是因为我是在pycharm上运行它的,而没有使用硬编码字符串的服务器部分,而不是从sys.argv获取它们。

但是,当我尝试使用Express端点时,出现以下错误:

导入错误:没有名为Base.GetData的模块

我怀疑这是因为导入时路径不正确,或者从子进程调用之时就以某种方式更改了路径。谁能提供有关如何解决此问题的帮助?谢谢!

0 个答案:

没有答案