Ich verwende einen Python -Code, um ein paar Dinge zu automatisieren. Ich möchte dies vermeiden und alle meine gemeinsamen Python-Funktionen in eine Helferklasse platzieren, die von einer beliebigen Komponente zugänglich ist.
Code: Select all
/src
/reducers
/localData
Helpers.py
txt_to_jsx_converter.py
Code: Select all
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
Code: Select all
from Helpers import Helpers
API_KEY = Helpers.get_api_key(name="OPENAI_API_KEY")
client = OpenAI(api_key=API_KEY)
- Versuch, v1 zu optimieren:
Ich habe die Helpers.py -Datei buchstäblich in ein neues Verzeichnis in ein neues Verzeichnis gezogen. Die Projektstruktur sieht jetzt so aus: < /p>Auf dieseCode: Select all
/pythonhelpers Helpers.py /src ...
Irgendwie, wenn ich über Pythonhelpers schwebe, erkennt es als Modul:Code: Select all
from pythonhelpers.Helpers import Helpers
Code: Select all
from pythonhelpers.Helpers import Helpers ModuleNotFoundError: No module named 'pythonhelpers' < /code> widersprüchlich gegenüber dem, was gegen Code mich glaubte.from .....pythonhelpers.Helpers import Helpers < /code> Wenn ich jedoch mein Python -Skript ausführe, erhalte ich den folgenden Fehler: < /p> from .....pythonhelpers.Helpers import Helpers ImportError: attempted relative import with no known parent package