0

このコードを実行したい:

from gtts import gTTS
tts = gTTS('hello', lang='en')
tts.save('hello.mp3')

Python (python 2.7.13) では正常に動作しますが、python3 (python 3.5.3) では動作しません。

古いpythonでは常に機能していました。今、新しい PC (ラズベリー) で python3 (3.5.3) を使い始めたかったので、試してみましたが、うまくいきませんでした。

新規インストールだったので、gtts がインストールされていない可能性があるため、次のようにインストールしました。

pi@raspberrypi:~ $ pip install gTTS

私はこれを持っていました:

Collecting gTTS
Downloading
...
...
...
Successfully built gTTS bs4 gtts-token
Installing collected packages: backports.functools-lru-cache, soupsieve, beautifulsoup4, bs4, click, idna, chardet, certifi, urllib3, requests, gtts-token, six, gTTS
Successfully installed backports.functools-lru-cache-1.5 beautifulsoup4-4.7.1 bs4-0.0.1 certifi-2019.3.9 chardet-3.0.4 click-7.0 gTTS-2.0.3 gtts-token-1.1.3 idna-2.8 requests-2.22.0 six-1.12.0 soupsieve-1.9.1 urllib3-1.25.2
pi@raspberrypi:/home $ 

もう一度試してみましたが、うまくいきませんでした。古いバージョンの 2.7 で試してみたところ、驚いたことに動作していました。

Python での作業:

pi@raspberrypi:/ $ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22) 
[GCC 6.3.0 20170516] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from gtts import gTTS
>>> 

python3で動かない

pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39) 
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from gtts import gTTS
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'gtts'
>>> 

すると、 pip3 があることに気が付きました!私がする時

pi@raspberrypi:~ $ sudo pip3 install gTTS

gTTS がないので、やった

pi@raspberrypi:~ $ sudo pip3 install gTTS

しかし、それを行った後、赤いテキストとエラーメッセージが表示されます

 File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment
    total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

ピップリストで再度確認すると、gTTS はまだありません...何かアイデアはありますか? ありがとう

4

1 に答える 1

2

あなたは、特定のインタプリタを実行して見たと不平を言っています:

from gtts import gTTS
...
ImportError: No module named 'gtts'

またはより簡潔に:

import gtts
...
ImportError: No module named 'gtts'

問題は、そのインタープリターに gtts をインストールしたことがないことです。

はい、 python2.7 インタープリターに素晴らしいサービスを提供するを実行しましたpip(または同等の)。pip2いいえ、実行したことはありません。pip3これは、python3.5 インタープリターでうまく機能する可能性があります。

おそらく、次の方法で呼び出す方がよいでしょう。

$ python3 -m pip install gTTS

sys.pathそうすれば、インストール中に何が起こるか、そしてパッケージがimportそれを見つけるのに適切な場所に着陸することを確信できます.

別項目として、3.5は少し古いので、新しいバージョンの使用を検討してください。

于 2019-05-18T19:29:10.417 に答える