desbma / GoogleSpeech

Read text using Google Translate TTS API
GNU Lesser General Public License v2.1
161 stars 37 forks source link

TypeError: stat: can't specify None for path argument #5

Closed micrococo closed 8 years ago

micrococo commented 8 years ago

Hi.

When I try to use the program (google_speech -l en "Hello $USER, it is $(date)" or any of the usage examples) I get this:

TypeError: stat: can't specify None for path argument
Traceback (most recent call last):
  File "/usr/bin/google_speech", line 11, in <module>
    sys.exit(cl_main())
  File "/usr/lib/python3.4/site-packages/google_speech/__init__.py", line 299, in cl_main
    main(args.speech, args.lang, args.sox_effects)
  File "/usr/lib/python3.4/site-packages/google_speech/__init__.py", line 253, in main
    Speech(text, lang).play(sox_effects)
  File "/usr/lib/python3.4/site-packages/google_speech/__init__.py", line 137, in play
    segment.play(sox_effects)
  File "/usr/lib/python3.4/site-packages/google_speech/__init__.py", line 203, in play
    audio_data = self.download(real_url)
  File "/usr/lib/python3.4/site-packages/google_speech/__init__.py", line 246, in download
    timeout=3.1)
  File "/usr/lib/python3.4/site-packages/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/usr/lib/python3.4/site-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3.4/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3.4/site-packages/requests/adapters.py", line 342, in send
    self.cert_verify(conn, request.url, verify, cert)
  File "/usr/lib/python3.4/site-packages/requests/adapters.py", line 187, in cert_verify
    if not os.path.isdir(cert_loc):
  File "/usr/lib64/python3.4/genericpath.py", line 42, in isdir
    st = os.stat(s)
TypeError: stat: can't specify None for path argument

I think I have the necessary requirements installed (Python 3.4 and SoX with MP3 support). I have installed the program with PIP and from source with identical results. I'm using openSUSE Tumbleweed. Any hints?

Greetings.

desbma commented 8 years ago

Hi,

It seems the requests library can not find on your system a CA store needed to validate https URLs.

The best solution would be to install the certify package with pip (pip3 install certify), which will install recent root certificates that will then be properly detected by requests.

Please tell me if that fixes it

micrococo commented 8 years ago

Hi.

Yes, once installed certify it works fine. Thank you very much.

Greetings.

desbma commented 8 years ago

Great