I'm the author of the Python package WordHoard. This package can be used to find semantic relationships between words including a word's antonyms, synonyms, hypernyms, hyponyms and homophones.
from wordhoard import Synonyms
word1 = 'motorcar'
word2 = 'automobile'
synonym_list = Synonyms(word1).find_synonyms()
find_word = [word for word in synonym_list if word == word2]
if find_word is not None:
print(f'{word2} is a synonym of {word1}')
# print output
automobile is a synonym of motorcar.
else:
print(f'{word2} is not a synonym of {word1}')
I have found wordnet to be very limited. For instance these are the synonyms for motorcar from wordnet:
['auto', 'automobile', 'car', 'machine']
WordHoard is designed to query other sources. For example the query below returns 152 synonyms for the word motorcar.
from wordhoard import Synonyms
synonym_list = Synonyms('motorcar').find_synonyms()
print(len(synonym_list))
152
If you decided to use WordHoard please let me know how it works for your use case.