pylsd
pylsd copied to clipboard
fp = open(temp, 'r') FileNotFoundError: [Errno 2] No such file or directory:
Traceback (most recent call last):
File "YOUR_FILE.py", line 29, in
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.
- open lsd.py and put a print(temp) just when temp has been created, this gives the path where temp file is created
- 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)
- just replace temp by this new path(location of file+C) at two places - a) where it is read again b) in remove
- Done, should work!
@getsanjeev great work! Sorrowly, it does not work for Linux. Probably, you have any ideas for it too?
Yes it does not work on Linux, I would update for Linux, let me figure out something.
@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
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))
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