You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React项目中跨目录导入Python工具类Helpers.py失败的问题求助

React项目中跨目录导入Python工具类Helpers.py失败的问题求助

我正在开发一个React应用,同时用Python代码实现一些自动化功能。现在我发现不同的Python组件里重复写了不少代码,想把这些通用的Python函数统一放到一个工具类Helpers.py里,让所有组件都能方便调用,避免重复造轮子。

原本的项目结构与正常调用情况

之前和问题相关的项目结构是这样的:

/src
   /reducers
      /localData
         Helpers.py
         txt_to_jsx_converter.py

Helpers.py的代码如下:

import argparse
import os

from openai import OpenAI
from dotenv import load_dotenv
from pathlib import Path

class Helpers:
    def read_file(filepath):
        """Read a file...

        Args:
            filepath (string): path to file that I want to read contents of
        """
        with open(filepath, "r", encoding="utf-8") as f:
            file_content = f.read()
        return file_content


    def get_api_key(name, root_project):
        """Get api key
        
        Args:
            name (string): name that I assigned it in the .env file
            root_project (string): root project directory
        """

        # name of file where my API keys are stored...
        env = '.env.local'

        # load the file...
        load_dotenv(Path(f"{root_project}/{env}"))

        # now we retrieve the API key we want...
        API_KEY = os.getenv(name)
        return API_KEY

当时在同目录的txt_to_jsx_converter.py里调用是完全正常的,代码示例:

from Helpers import Helpers

API_KEY = Helpers.get_api_key(name="OPENAI_API_KEY")
client = OpenAI(api_key=API_KEY)

两次优化尝试均失败

尝试1:将Helpers.py移到根目录的pythonhelpers文件夹

我新建了根目录的pythonhelpers文件夹,把Helpers.py移了进去,现在项目结构变成:

/pythonhelpers
   Helpers.py
/src
   ...

VS Code自动帮我把txt_to_jsx_converter.py里的导入语句改成了:

from pythonhelpers.Helpers import Helpers

而且VS Code里 hover 这个pythonhelpers时,显示它是一个模块,但实际运行Python脚本时,却弹出了错误:

from pythonhelpers.Helpers import Helpers
ModuleNotFoundError: No module named 'pythonhelpers'

这和VS Code的提示完全矛盾,我搞不懂为什么。

尝试2:使用多级相对路径导入

后来我试着改成相对路径导入,写了一串点:

from .....pythonhelpers.Helpers import Helpers

结果运行时又报了另一个错误:

from .....pythonhelpers.Helpers import Helpers
ImportError: attempted relative import with no known parent package

我到底哪里操作错了?有没有大佬能帮我看看问题出在哪?

备注:内容来源于stack exchange,提问作者nbofni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 17:54:31