pylsd icon indicating copy to clipboard operation
pylsd copied to clipboard

fp = open(temp, 'r') FileNotFoundError: [Errno 2] No such file or directory:

Open getsanjeev opened this issue 6 years ago • 6 comments

Traceback (most recent call last): File "YOUR_FILE.py", line 29, in lines = lsd(gray) File "C:\YOUR_WORKING_DIRECTORY\pylsd_repo\pylsd\lsd.py", line 24, in lsd fp = open(temp, 'r') FileNotFoundError: [Errno 2] No such file or directory: 'C:/YOUR_WORKING_DIRECTORY/536135ntl.txt'

getsanjeev avatar Jun 17 '18 18:06 getsanjeev

Using Windows, if you installed it using source code, may be this is happening to you. I just faced it and resolved it using a quick (its nasty but works) fix.

  1. open lsd.py and put a print(temp) just when temp has been created, this gives the path where temp file is created
  2. A file would be created every time at this location, but the name is not as per expected, due to some reasons. (EXPECTED: randomno+ntl.txt, ACTUAL: C - in my case)
  3. just replace temp by this new path(location of file+C) at two places - a) where it is read again b) in remove
  4. Done, should work!

getsanjeev avatar Jun 17 '18 19:06 getsanjeev

@getsanjeev great work! Sorrowly, it does not work for Linux. Probably, you have any ideas for it too?

belnasty avatar Jun 27 '18 07:06 belnasty

Yes it does not work on Linux, I would update for Linux, let me figure out something.

getsanjeev avatar Jun 27 '18 08:06 getsanjeev

@getsanjeev Yep!Just Replace 15th line code temp = os.path.abspath(str(np.random.randint( 1, 1000000)) + 'ntl.txt').replace('\\', '/') in this file "pylsd/pylsd/lsd.py" to temp='a'. I just run this code on windows

sevenHsu avatar Jul 06 '18 10:07 sevenHsu

Just replace 15th line and 20th line in pylsd/pylsd/lsd.py as follows: # temp = os.path.abspath(str(np.random.randint(1, 1000000)) + 'ntl.txt').replace('\\', '/') temp = os.path.abspath(str(np.random.randint(1, 1000000)) + 'ntl.txt').replace('\\', '/').encode('utf-8') # lsdlib.lsdGet(src, ctypes.c_int(rows), ctypes.c_int(cols), temp) lsdlib.lsdGet(src, ctypes.c_int(rows), ctypes.c_int(cols), ctypes.c_char_p(temp))

dlinzhao avatar May 18 '19 14:05 dlinzhao

I upgraded the lsd algorithm version from 1.5 to 1.6, and solved the FileNotFoundError. Now it works on python3. You can install it with pip install pylsd2

anyongjin avatar Jun 10 '21 12:06 anyongjin