Giter Site home page Giter Site logo

Comments (4)

Bajron avatar Bajron commented on June 4, 2024

Took a look at this one.

I think we can change the assertion into breaking the loop. I checked the history and it seems the assertion is there to make static analysis happy. Traced it back to this one eb3eab8

If I understand the code correctly, this variable is None when we are the the top of the call stack. If we break the loop at that point we get reasonable guess for the path to start the lookup.

To be honest, I could not reproduce the issue with "typical" code.

I suspect introducing or not os.path.exists(frame.f_code.co_filename) caused the problem.
With this assumption I could reproduce it in the following way on Ubuntu.

Create a test.py with the following content:

#!/usr/bin/env python3
import dotenv
import os

os.unlink('test2.py')

if path := dotenv.find_dotenv(raise_error_if_not_found=False):
    print(path)
else:
    print("no path")

Create a symbolic link with ln -s test.py test2.py

Run python test2.py

Now I guess this is not your use case @HonakerM , so could you share a little more details about your scenario?
How is the script called, what is your environment, and especially, does it involve scripts moving/deleting/any other operations that can make the code think the source file does not exist?

from python-dotenv.

Bajron avatar Bajron commented on June 4, 2024

Added a PR with my suggestion. I think we still need to understand what actually happens in your environment though.
You can test it with:
pip install python-dotenv@git+https://github.com/Bajron/python-dotenv@assertion-find-dotenv-for-upstream

You might need to uninstall the old version first as the version string is still the same and pip might not apply the changes because of that.

from python-dotenv.

theskumar avatar theskumar commented on June 4, 2024

@HonakerM Would it possible for you test the fix by @Bajron and/or report more about your environment?

from python-dotenv.

HonakerM avatar HonakerM commented on June 4, 2024

@theskumar sorry for the delay I will try out the fix this weekend

from python-dotenv.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.