SalvorHardin
SalvorHardin

Reputation: 77

No such file or directory: 'GoogleNews-vectors-negative300.bin'

I have this code :

import gensim
filename = 'GoogleNews-vectors-negative300.bin'
model = gensim.models.KeyedVectors.load_word2vec_format(filename, binary=True)

and this is my folder organization thing : image of my folder tree that shows that the .bin file is in the same directory as the file calling it, the file being ai_functions

But sadly I'm not sure why I'm having an error saying that it can't find it. Btw I checked, I am sure the file is not corrupted. Any thoughts?

Full traceback :

  File "/Users/Ile-Maurice/Desktop/Flask/flaskapp/run.py", line 1, in <module>
    from serv import app
  File "/Users/Ile-Maurice/Desktop/Flask/flaskapp/serv/__init__.py", line 13, in <module>
    from serv import routes
  File "/Users/Ile-Maurice/Desktop/Flask/flaskapp/serv/routes.py", line 7, in <module>
    from serv.ai_functions import checkplagiarism
  File "/Users/Ile-Maurice/Desktop/Flask/flaskapp/serv/ai_functions.py", line 31, in <module>
    model = gensim.models.KeyedVectors.load_word2vec_format(filename, binary=True)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/keyedvectors.py", line 1629, in load_word2vec_format
    return _load_word2vec_format(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/gensim/models/keyedvectors.py", line 1955, in _load_word2vec_format
    with utils.open(fname, 'rb') as fin:
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/smart_open/smart_open_lib.py", line 188, in open
    fobj = _shortcut_open(
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/smart_open/smart_open_lib.py", line 361, in _shortcut_open
    return _builtin_open(local_path, mode, buffering=buffering, **open_kwargs)
FileNotFoundError: [Errno 2] No such file or directory: 'GoogleNews-vectors-negative300.bin'

Upvotes: 3

Views: 1618

Answers (1)

gojomo
gojomo

Reputation: 54173

The 'current working directory' that the Python process will consider active, and thus will use as the expected location for your plain relative filename GoogleNews-vectors-negative300.bin, will depend on how you launched Flask.

You could print out the directory to be sure – see some ways at How do you properly determine the current script directory? – but I suspect it may just be the /Users/Ile-Maurice/Desktop/Flask/flaskapp/ directory.

If so, you could relatively-reference your file with the path relative to the above directory...

serv/GoogleNews-vectors-negative300.bin

...or you could use a full 'absolute' path...

/Users/Ile-Maurice/Desktop/Flask/flaskapp/serv/GoogleNews-vectors-negative300.bin

...or you could move the file up to its parent directory, so that it is alonside your Flask run.py.

Upvotes: 1

Related Questions