diff --git a/poetry.lock b/poetry.lock index 7161e6af7..ff9323ad4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1977,20 +1977,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "python-dotenv" -version = "1.0.1" -description = "Read key-value pairs from a .env file and set them as environment variables" -optional = false -python-versions = ">=3.8" -files = [ - {file = "python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca"}, - {file = "python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a"}, -] - -[package.extras] -cli = ["click (>=5.0)"] - [[package]] name = "python-engineio" version = "4.10.1" @@ -3047,4 +3033,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "c5da15520cef58124f6699007c81158036840469d4f9972592d72bd456c45e7e" +content-hash = "8090ccaeca173bd8612e17a0b8d157d7492618e49450abd1c8373e2976349db0" diff --git a/pyproject.toml b/pyproject.toml index 3fe6041f0..93f3c5d50 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -33,7 +33,6 @@ jinja2 = ">=3.1.2,<4.0" psutil = ">=5.9.4,<7.0" pydantic = ">=1.10.2,<3.0" python-multipart = ">=0.0.5,<0.1" -python-dotenv = ">=1.0.1" python-socketio = ">=5.7.0,<6.0" redis = ">=4.3.5,<6.0" rich = ">=13.0.0,<14.0" diff --git a/reflex/config.py b/reflex/config.py index eb319c5dd..c7d03242c 100644 --- a/reflex/config.py +++ b/reflex/config.py @@ -491,10 +491,15 @@ class Config(Base): from reflex.utils.exceptions import EnvVarValueError if self.env_file: - from dotenv import load_dotenv + try: + from dotenv import load_dotenv # type: ignore - # load env file if exists - load_dotenv(self.env_file, override=True) + # load env file if exists + load_dotenv(self.env_file, override=True) + except ImportError: + console.error( + """The `python-dotenv` package is required to load environment variables from a file. Run `pip install "python-dotenv>=1.0.1"`.""" + ) updated_values = {} # Iterate over the fields.